我有一个手写识别应用程序 - 用户用手指绘制,应用程序识别字符.识别引擎在具有最小可能优先级的工作线程中运行 - Thread.MIN_PRIORITY
.这是一个纯粹的CPU /内存算法,没有任何I/O. 但是,当线程正在运行时,UI变得相当不稳定.手指笔划会出现明显的延迟.我也注意到触摸事件迷失了.
这究竟是什么线程应该有助于避免?为什么UI线程缺乏CPU?如何说服系统将工作线程视为低优先级后台线程?
看起来系统正在引入(心甘情愿或因为CPU饥饿而导致)invalidate()
和之间的延迟onDraw()
.我可以以某种方式降低延迟吗?
测试相对较旧的硬件 - 搭载Android 2.1的HTC Magic.