随着多核Android手机的普及,应用程序开发人员如何确保其应用程序利用这些核心的额外处理能力呢?据我所知,应用程序开发人员唯一能做的就是将其应用程序变成多线程并让Android内核负责将任务分配到不同的核心上。
我想知道是否还有其他优化多核心的方法。另外,在Android中,最佳的多线程实践是什么。
随着多核Android手机的普及,应用程序开发人员如何确保其应用程序利用这些核心的额外处理能力呢?据我所知,应用程序开发人员唯一能做的就是将其应用程序变成多线程并让Android内核负责将任务分配到不同的核心上。
我想知道是否还有其他优化多核心的方法。另外,在Android中,最佳的多线程实践是什么。
与其自己尝试执行线程,最好使用内置的范例,如AsyncTask。
如果您想要
//Sets up a thread pool where NUM_THREADS is the amount that can run at the same time
ExecutorService threadPool = null;
threadPool = Executors.newFixedThreadPool(NUM_THREADS);
//Will execute something on one of the threads queuing if necessary
threadPool.execute(new Runnable() {
@Override
public void run() {
}});
Context
追踪泄漏的困境,synchronized
是我们的朋友,并且这种编程范式已经深入人心。即使是简单的应用程序通常也有需要初始化/加载/...才能显示信息,因此我们应该尽力结束“多核无用”(用户)或“多核难”(开发人员)的说法。它还有一个好处,就是改变了大多数开发人员对UI线程隔离(导致应用程序变慢的主要原因)的看法。总之,这种编程范式有很多好处。 - davidcesarino