【发布时间】:2012-06-05 16:07:11
【问题描述】:
Android 专家,我需要一些帮助。我是安卓菜鸟。我有一个应用程序,我需要在主 UI 线程之外使用画布绘制位图。我偶然发现了 SurfaceView 类并模拟了一个快速演示。我创建了一个单独的位图实例并绘制到其中。当 SurfaceView 的 OnDraw 发生时,我将此位图复制到 SurfaceView 中。在活动结束之前,它工作得很好,例如,返回主屏幕。那时,SurfaceView 线程似乎停止了,我似乎丢失了我正在处理的位图图像。当您返回应用程序时,它会从头开始。
出于性能原因,我想使用独立于主 UI 线程的线程调用画布 2D 绘图来创建位图图像。我需要不时将该位图放入主用户界面。当活动暂停或停止时,我需要保留位图图像并继续绘制(以保持其最新状态)。
由于您必须在主 UI 线程中进行所有绘图,SurfaceView 似乎是唯一的解决方案。但它也没有像我希望的那样工作。
我需要一个永不停止运行的后台任务或线程,我需要在那里创建一个位图图像,并且我需要不时将该位图放入主用户界面(比如 10 赫兹更新)。
帮助!我该怎么做?
【问题讨论】:
-
创建一个单独的
process对您有用吗? -
嗨,Dark Crow,感谢您的超快速回复。你能更详细地解释一下吗?您的意思是使用 C++、NDK 和单独的进程吗?对不起,我还是个菜鸟。
-
您可以创建单独的
process,这在Android Manifest中不太受鼓励。 -
但是单独的进程如何访问画布 API?你能做到吗?以及如何创建这个单独的流程?
-
好的,看来您需要了解更多关于
Services的信息。现在,如果您不知道 Android 中有关Services的选项卡,您需要转到文档并自己阅读。
标签: android bitmap surfaceview