processes与threads

      Android系统默认为每个应用程序开启一个进程和一个UI线程,但是,通过特殊的设置,可以让一个应用的不同组件运行在不同的进程中。process不被kill的顺序(process lifecycle):Foreground process最不容易被kill的进程,如该进程有处于onResume()的Activity、有正在于用户交互的activity绑定的service、有掉了 startForeground()的service、有正在执行onReceive()的广播;VisibleProcess,弹了dialog的activity所在的进程;service process如下载,上传文件的service;background process,不可见Activity所在进程;还有empty process.

   Android系统UI控件是线程不安全的,所以多控件的操作必须在UI线程中操作;但是要遵循两个原则:不阻塞UI线程,和不在工作线程中操作控件。即:开工作线程执行耗时长的任务,然后用以下几种方式操作控件:1.Activity.runOnUiThread(Runnable);2.View.post(Runnable);3.View.postDelayed(Runnable, long),4.Handler,消息机制;5(推荐AsyncTask 使得代码开起来简洁明了。

  Android线程安全(待补充)

  Android进程间通信:IPC(待补充)

posted @ 2012-07-31 21:15  ljob  阅读(371)  评论(1编辑  收藏  举报