`
lei33
  • 浏览: 16730 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

Android 的进程与线程

阅读更多

  一、进程(Processes)
  1。应用程序运行的时候,Android会为其开启一个Linux进程,其中含有一个单独的执行线程。然而你还可以将其安排进其他进程里或是在其他进程中产生额外的线程。
  2。Manifest文件控制着组件运行在哪个进程当中。、、、这四个标签都含有“process”属性,它用来指定这个组件运行在哪个进程里。
  3。process属性的功能:
  (1)组件运行在各自的进程中。
  (2)一些组件共享着一个进程。
  (3)不同应用程序中的组件运行在相同的进程中(它们共享同一个Linux用户ID和权限)。
  (4)另外标签也有个process属性,默认时:在指定进程中应用所有组件。
  4。所有的组件是在指定进程中的主线程创建,也就是说当系统调用这些组件时,会去那个线程里面寻找。由于所有方法调用都在那主个线程中,难免会出现阻塞的情况(复杂的循环计算),所以开发人员可以创建额外的线程以避免这情况的发生。
  5。有两种情况,Android需要强制关闭一个进程:
  (1)内存不足。
  (2)其他的进程需要更多的内存以响应用户需求。
  6。强制关闭进程的简单原理:Android会衡量哪些进程对当前用户比较重要,以关闭那些不重要的进程。举例来说,Android更乐意关闭掉那些不在屏幕上显示的进程。因此,得出一个结论就是,这一行为取决于组件在那个进程中的状态。
  二、线程(Threads)
  1。用户界面应当是迅速地响应用户操作为目的,对于那些不能迅速完成的操作放进其它线程里面去工作。比如说下载功能,可以放置到后台去嘛。
  2。当然,还是利用JDK中的Thread对象去创建线程,而且Android已然提供为开发人员提供好了极为便利的API用以管理线程。
  三、远程方法调用(Remoteprocedurecalls)
  1。Android提供了一个轻量级的机制——远程方法调用(RPCs),即:在本地方调用方法,却在远程方(其它的进程)执行它,并且将结果返回给本地。
  2。调用原理:首先在本地方将这个方法调用和其携带的数据分解出来,然后从本地方进程和地址空间传输到远程方进程和地址空间;远程方会重新组装和制定方法调用;返回值则是由远程方传输回到本地方。
  3。RPC接口里面的方法都是同步的,也就是说,只有远程方法执行完毕之后(如果方法没有返回值亦如此),本地调用的方法才会结束。
  四、线程安全的方法(Thread-safemethods)

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics