wol*_*ang 5 multithreading android android-canvas
是允许的,还是我需要使用UI线程?
编辑:对官方android文档中某个位置的引用将是理想的。
Android文档明确指出,不允许“从UI线程外部访问Android UI工具包”。
另一方面,似乎允许从工作线程创建Bitmap对象,至少是通过示例代码完成的:http : //developer.android.com/guide/topics/fundamentals/processes-and-threads.html 显然,就线程而言,Bitmap类不被视为“ UI工具包”的一部分。
从非UI线程调用时,我有一段代码似乎可以正常工作。它涉及使用Bitmap.createBitmap(int,int,Bitmap.Config),新的Canvas(bitmap),Typeface.create()和文本绘图。我的代码未引用任何View对象。
有人可以指出我的一些文档,说我可以从后台线程执行这些操作吗?还是会导致随机崩溃?
UI工具包是指Google提供的按钮、标签、列表视图等UI。您无法从非 ui 线程访问它们,主要是因为它们不是线程安全的。
你所做的不是在 UI 工具包上,而是在低级 Canvas 上,允许(实际上应该允许)从非 ui 线程访问。这种机制在游戏开发中一直在使用。所以我相信你是安全的。
| 归档时间: |
|
| 查看次数: |
2513 次 |
| 最近记录: |