在简单的应用程序编码之后,我想了解更好地了解Android中各种概念性组件之间错综复杂的关系。用于理解Android中的概念的推荐资源
更具体地说,我想了解什么是Runnable,Looper和Handler。
正如您可能注意到,上述3项是链接到正式文件中所以我的问题似乎很奇怪,所以让我解释一下:这些文档可以是完美的人谁已经了解的东西如何在Android中工作,但我需要一些顺序走过基本面的东西,建立在先前概念之上。总结一下,我需要一些关于核心内部的构建块的教程。你能推荐一个吗?
在简单的应用程序编码之后,我想了解更好地了解Android中各种概念性组件之间错综复杂的关系。用于理解Android中的概念的推荐资源
更具体地说,我想了解什么是Runnable,Looper和Handler。
正如您可能注意到,上述3项是链接到正式文件中所以我的问题似乎很奇怪,所以让我解释一下:这些文档可以是完美的人谁已经了解的东西如何在Android中工作,但我需要一些顺序走过基本面的东西,建立在先前概念之上。总结一下,我需要一些关于核心内部的构建块的教程。你能推荐一个吗?
详细文章Painless Threading可能是您在Android上进行线程处理的最佳资源。
故事的寓意是AsyncTask
使多线程更容易。
Runnable是一个核心Java接口 - 它表示可以运行的代码部分(通常由特定的线程运行)。
Handler是一个Android类,负责发布Runnable \ Message,以便特定线程运行或处理它们(按特定顺序)。
Looper是保存HandlerThread将读取的Runnable \ Message队列的结构。
OMG你是一个天使。有太多的文档,我找不到重要的东西...我找到http://developer.android.com/guide/topics/fundamentals/processes-and-threads.html,但它不像无痛线程。 :) – an00b 2011-03-30 19:30:06
那里有一些非常好的文章。如果您在左侧面板上点击,您也可以找到更多! – 2011-03-30 19:31:13
http://stackoverflow.com/questions/5009816/android-cant-create-handler-inside-thread-that-has-not-called-looper-prepare/5009894#5009894表明AsyncTask不能从一个非UI线程。相反,他通过用Runnable调用Activity.runOnUiThread()来启动另一级别的间接方法,该方法可以启动AsyncTask。嗯... – an00b 2011-03-31 01:04:56