31软硬整合开发的基础 认识Android的线程Thread模式.doc31软硬整合开发的基础 认识Android的线程Thread模式.doc

收藏 分享

资源预览需要最新版本的Flash Player支持。
您尚未安装或版本过低,建议您

31软硬整合开发的基础认识ANDROID的线程THREAD模式在之前的课程里,都只介绍JAVA层的线程模式。其实担任软硬整合的嵌入式软件开发者,在开发SHAREDLIBRARYSO及其卡榫类别时,更需要充分理解ANDROID的线程模式,于此就来说说其原因吧在ANDROID平台上开发软硬整合的共享链接库SHAREDLIBRARY时,由于是「共享」的程序组件,所以可能有许多ACTIVITY或SERVICE等组件来呼叫此共享链接库例如某一个SO可执行档。由于这些ACTIVITY或SERVICE等组件可能是别人开发的,也在不同的进程里执行,也有可能是以子线程来呼叫。这个时候,写共享链接库的开发者如何撰写其SO链接库呢即使SO链接库写好了,也安装好了,又如何撰写在JAVA层与之相对应的「卡榫类别」HOOKCLASS呢兹以ANDROID平台所提供的MEDIAPLAYER组件为例,其中的MEDIAPLAYERJAVA就是一个卡榫类别。如下图开发此类别时,一方面要应对ACTIVITY所发出来执行MEDIAPLAYERJAVA的线程,一方面又要接受底层SO所回传的信息,此种讯息到底是那一个线程所执行而传递回来的呢如此才能将SO组件纳入到ANDROID平台里,让众多的ACTIVITY或SERVICE等JAVA组件来共享之。如果对ANDROID的线程模式有充分的认识,就很容易弄清楚程序的写法。否则,甚至连别人所写的程序代码可能都不易看懂。例如,MEDIAPLAYERJAVA类别的程序代码片段如下PUBLICCLASSMEDIAPLAYER{STATIC{SYSTEMLOADLIBRARYMEDIA_JNI;}//省略PUBLICMEDIAPLAYER{LOOPERLOOPER;IFLOOPERLOOPERMYLOOPERNULL{MEVENTHANDLERNEWEVENTHANDLERTHIS,LOOPER;}ELSEIFLOOPERLOOPERGETMAINLOOPERNULL{MEVENTHANDLERNEWEVENTHANDLERTHIS,LOOPER;}ELSE{MEVENTHANDLERNULL;}/NATIVESETUPREQUIRESAWEAKREFERENCETOOUROBJECTITSEASIERTOCREATEITHERETHANINC/NATIVE_SETUPNEWWEAKREFERENCEMEDIAPLAYERTHIS;}这个建构式里的指令就是在处理线程的讯息交换,它是为了要让*SO能回传一些讯息给JAVA层的应用类别。此时,如果你能对ANDROID有如下的认识,就很容易理解它了在每一个进程有一个主线程MAINTHREAD,它的主要任务是处理与UI有关的事件EVENT,所以又常称为UI线程。主线程可以诞生子线程CHILDTHREAD,而且「经常」需要诞生子线程。其主要原因是主线程即UI线程必须时时刻刻标准为5秒内去照顾UI的事件,以便快速响应使用者的要求。因此,UI线程没空闲去执行较为费时的函数或工作,只好诞生子线程去执行较为费时的工作了。在ANDROID平台里,UI线程与其子线程之分工是很明确的子线程负责执行费时的工作。主线程负责UI的操作或事件;子线程不可以插手有关UI的事。在同一进程里的主、子线程之间可以透过MESSAGEQUEUE来互相沟通。当一个新进程新诞生时,会同时诞生一个主线程,也替主线程建立一个MESSAGEQUEUE,以及负责管理MESSAGEQUEUE的LOOPER类别之对象。子线程可以透过HANDLER对象而将MESSAGE对象丢POST到主线程的MESSAGEQUEUE里,而主线程的LOOPER物件就会接到这个MESSAGE对象,并依据其内容而呼叫适当的函数来处理之例如显示画面LAYOUT上。由于执行此建构式的线程不一定是该进程PROCESS的主线程,所以要确保能将讯息确实传递给主线程。
编号:201312142343377852    类型:共享资源    大小:69.50KB    格式:DOC    上传时间:2013-12-14
  
3
关 键 词:
IS 电气 高压 110kv 220kv 550kv 800kv
  人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:31软硬整合开发的基础 认识Android的线程Thread模式.doc
链接地址:http://www.renrendoc.com/p-217852.html

当前资源信息

4.0
 
(2人评价)
浏览:6次
baixue100上传于2013-12-14

官方联系方式

客服手机:17625900360   
2:不支持迅雷下载,请使用浏览器下载   
3:不支持QQ浏览器下载,请用其他浏览器   
4:下载后的文档和图纸-无水印   
5:文档经过压缩,下载后原文更清晰   

精品推荐

相关阅读

人人文库
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服客服 - 联系我们

网站客服QQ:2846424093    人人文库上传用户QQ群:460291265   

[email protected] 2016-2018  renrendoc.com 网站版权所有   南天在线技术支持

经营许可证编号:苏ICP备12009002号-5