如何线程的优先级在Android的管理? (或者Android的线程策略是什么?)GUI线程会被赋予更高的优先级,对吧?Android的线程优先级
我已经看到了创建单独的线程,因为finalize()
气馁清理(本地)资源的应用程序。然而,仍然有内存泄漏(或存储效率低下),因为清除线程没有运行足够频繁。
一些其他应用程序,那些不使用finalize()
忽视的建议,依靠终结清理资源。所以我想知道如何安排终结器线程?是释放资源的可靠方式,无论是托管还是本地资源?
如何线程的优先级在Android的管理? (或者Android的线程策略是什么?)GUI线程会被赋予更高的优先级,对吧?Android的线程优先级
我已经看到了创建单独的线程,因为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。
1.你是说finalize()是不是可靠的资源清理机制? 2.如何安排终结器线程? 3.我们如何表达“当这个特定的托管Java对象不可用时必须释放这片本地资源”的语义? – dacongy 2012-08-01 17:51:05
这是这样的职位,让我想学ios –
2012-07-30 02:19:01
@马丁詹姆斯为什么是这样的? iOS中的线程策略是非常明确的吗? – dacongy 2012-07-30 02:26:58
不知道它只是使用一个单独的线程来清理资源,(托管GC机制的ouside),好吧,有点奇怪的想法.. :) –
2012-07-30 03:06:01