【发布时间】:2012-09-11 06:55:22
【问题描述】:
随着具有多核的安卓手机的出现,应用程序开发人员如何确保他们的应用程序利用这些核的额外处理能力。 据我了解,应用程序开发人员唯一能做的就是让他们的应用程序多线程,并让 android 内核负责将任务委托给不同的内核。
我想知道是否还有其他可以针对多核进行优化的方法。此外,android 中最好的多线程实践是什么。
【问题讨论】:
-
我对多线程的最佳建议:不要 .. 除了并行化非常适合问题并且是一个可衡量的好处。很难做到正确,而且很多东西(例如 UI)本质上不可以安全地线程化。 (对于需要后台处理的 UI 任务,通常使用“后台工作人员”(包括 AsyncTask)而不是直接使用线程更简单。)
-
我非常不同意,考虑到 Android API 在帮助缓解
Context跟踪泄漏地狱方面已经走了很长一段路,synchronized是我们的朋友,最后,范式是在这里停留。即使是简单的应用程序(通常)也会在显示信息之前将初始化/加载/......分开的东西,所以我们应该尽我们所能来结束这种“多核无用”(用户)或“多核很难”(开发人员)。它还具有改变大多数开发人员关心 UI 线程隔离的心态(导致应用程序缓慢的第一大原因)的好处。重点是有很多好处。
标签: android multithreading optimization