Android中如何管理线程优先级?(或者Android中的线程策略是什么?)GUI线程将被分配更高的优先级,对吧?
我已经看到应用程序创建单独的线程来清理(本机)资源,因为finalize()
不鼓励。但是,由于清理线程运行不够频繁,仍然存在内存泄漏(或内存效率低下)。
其他一些应用程序,那些忽略不使用建议的应用程序finalize()
,依赖终结器来清理资源。所以我想知道终结器线程是如何安排的?它是一种释放资源的可靠方式,无论是托管的还是本机的?
Android中如何管理线程优先级?(或者Android中的线程策略是什么?)GUI线程将被分配更高的优先级,对吧?
我已经看到应用程序创建单独的线程来清理(本机)资源,因为finalize()
不鼓励。但是,由于清理线程运行不够频繁,仍然存在内存泄漏(或内存效率低下)。
其他一些应用程序,那些忽略不使用建议的应用程序finalize()
,依赖终结器来清理资源。所以我想知道终结器线程是如何安排的?它是一种释放资源的可靠方式,无论是托管的还是本机的?
我强烈建议您使用 AsyncTask 在不同的线程中执行某些操作。AsyncTask 非常易于使用,我想说它是 java 的最大优势之一。我真的很想念obj-c。
异步任务获取方法
onPostExecute(){}
在线程完成工作后,您可以在其中清洁任何您想要的东西。
http://labs.makemachine.net/2010/05/android-asynctask-example/
关于 AsyncTask 的 tuts 链接。
关于优先级:android中的线程就是java中的线程,它们的优先级从0到10。你可以为每个线程设置你想要的。
关于
finalize();
你应该避免使用这种方法。正如我已经说过的,你应该更好地使用 AsyncTask 类而不是 Thread。