- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发一个 J2ME 应用程序,该应用程序应该移植到不同供应商的手机上。到目前为止,该应用程序运行良好,除了摩托罗拉 V3(这是我尝试过的唯一摩托罗拉手机)。
问题是当我启动一个新线程时,当线程尝试更新图形(通过调用 repaint())时,图形系统是堆栈。
一些有用的信息:
- 我在 Midlet 的构造函数中获取显示,并在应用程序生命周期内重复使用它。
- 只有一个类扩展了 Canvas。每幅画都发生在这里。当我想要重新绘制图形时,我会从 UI 线程或另一个 Worker 线程调用 repaint() 方法。据我所知,每个线程都可以毫无问题地访问 UI。
- 我尝试了一个修复程序,在应用程序的开头,我使用正在运行的 (UI) 线程的名称并将其存储以备后用。在调用 repaint() 之前,我检查当前线程的名称是否等于 UI 线程的名称。如果它颂歌,那么我做 repaint()
,否则我会:
display.callSerially(new Runnable() {
public void run() {
repaint();
}
});
最佳答案
与 Swing 不同,MIDP 用户界面 API 是线程安全的。这意味着您不必使用 callSerially 来强制在 UI 线程上运行。有报告称 callSerially 在某些摩托罗拉设备上不能很好地工作,所以最好的办法是自己调用 repaint。
请注意,重绘只是对系统进行重绘的建议。如果要强制立即进行重绘,则必须调用 serviceRepaints 方法。
可以在 here 中找到有关 MIDP UI 事件处理的很好的讨论。 .
关于multithreading - 工作线程无法更新 Motorola V3 上的 UI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4788308/
68000内部如何表示指令。我读到有不同类型的指令:单一有效操作字格式指令、简短和完整扩展字格式指令。单个有效操作字指令似乎代表了该指令,该指令的低6位代表了寻址方式和寄存器。这种寻址模式和寄存器是否
68k 寄存器分为两组,每组八个。八个数据寄存器(D0 至 D7)和八个地址寄存器(A0 至 A7)。分开是为了什么,团结起来不是更好吗? 最佳答案 简单的回答是,这种分离来自于架构限制和当时做出的设
我正在尝试一个简单的Windows窗体应用程序,其中用户扫描条形码,然后该应用程序对条形码进行解码,然后在数据库中插入一行。基本的跟踪应用程序。我拿起了Motorola扫描仪并下载了用于Windows
我正在尝试了解汇编语言(Motorola 68k)中堆栈的使用和实现。 我知道MC 68k有8个地址寄存器,A7是特殊的。由于它是两个堆栈指针,因此共享“系统堆栈指针”的名称。 我们有两种状态:用户状
我们有一个在 Motorola FX7500 RFID 读取器上运行的应用程序。除了自动启动之外,一切正常。看起来 start_appname.sh 已执行,但应用程序甚至没有启动。有什么方法可以调试
使用以下代码;我正在尝试调整天线的范围; Antennas.Config config = new Antennas.Config(); config.TransmitPowerIndex = (us
我们正在尝试使用 LLRP 工具包代码连接 FX9500。我们希望在它们进入范围内时立即接收读取标签。从消息来看,所有添加/设置配置似乎都已正确完成,但无法接收事件。 附件是正在交换的消息的代码和 X
因为我必须使用无法处理 SREC 文件中不同长度的行的第三方引导加载程序,所以我需要一种方法来检测 objcopy 以创建一个 SREC 文件,其中每个 S1 行长度相同(如果没有提供 ELF 文件的
我已经为我的应用程序创建了自定义对话框。当我在普通的 Samsung Galary Ace 中运行该应用程序时,它会在该设备中正常显示,但当我要在摩托罗拉 Atrix 中运行该应用程序时,自定义对话框
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwar
我无法在 Motorola XT925 设备中撰写消息。 我的代码如下: Intent smsIntent = new Intent(Intent.ACTION_VIEW); sms
我已经在C#中为Windows CE构建.net应用程序。我最初是为运行Windows CE 5的Motorola WT4090创建的。现在,我有了运行Windows Embedded Compact
我正在开发一个 J2ME 应用程序,该应用程序应该移植到不同供应商的手机上。到目前为止,该应用程序运行良好,除了摩托罗拉 V3(这是我尝试过的唯一摩托罗拉手机)。 问题是当我启动一个新线程时,当线程尝
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 8 年前。 Improve this qu
我有一个 Wi-Fi 摩托罗拉 Xoom,我正在通过 ADB 连接以进行开发。我发现设备(带有 ID 号)出现在 adb 设备列表中的间歇性问题,但会显示为离线。 设备和计算机都显示平板电脑已连接。我
我正在学习摩托罗拉 68k 汇编,我写了以下浪费时间的循环: move.l #0x0fffffff,%d0 bsr timewaster rts timewaster:
基本上,如果我在 D1 中有一个数字,并且希望它始终为偶数,我如何确保它永远不是奇数? 我知道这与 AND 指令有关。但当我尝试这样做时,它总是会减去 1。因此它会将奇数变为偶数,将偶数变为奇数。 我
我在 Android 市场上上传了一个音板。该应用程序在市场上表现良好(超过 50,000 次下载),但开发者控制台报告我有一个错误,这让我很困扰。 所有崩溃报告仅来自一台设备 - Motorola
我得到了这样的 IF 语句: if( (Ch > ‘g’) && (Ch =0) && (A 100 goto result_zero result_one: condition := 1
Android 接口(interface)上的网络接口(interface)在 /sys/class/net/ 中的文件系统中作为目录列出。 对于大多数 Android 设备,gprs 流量的网络接口
我是一名优秀的程序员,十分优秀!