基于移动平台的应用软件性能优化技术研究.doc

基于移动平台的应用软件性能优化技术研究.doc

ID:22102006

大小:78.57 KB

页数:13页

时间:2018-10-27

基于移动平台的应用软件性能优化技术研究.doc_第1页
基于移动平台的应用软件性能优化技术研究.doc_第2页
基于移动平台的应用软件性能优化技术研究.doc_第3页
基于移动平台的应用软件性能优化技术研究.doc_第4页
基于移动平台的应用软件性能优化技术研究.doc_第5页
资源描述:

《基于移动平台的应用软件性能优化技术研究.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、基于移动平台的应用软件性能优化技术研宄由于移动智能系统是一个资源受限的系统,它对程序的运行空间和时间要求比桌面系统更为苛刻,因此,应用软件的优化对移动智能系统来说尤显必要和紧迫[1]。本文主要研究的性能优化是主要指运行速度的优化。应用软件对其运行速度进行优化是指在充分掌握软、硬件特征的基础上,通过应用程序结构调整等手段来缩短完成指定任务所需的运行时间,主要应用在对实时性要求比较高的场合。目前,移动智能系统的处理器在物理上也支持多线程的并发执行,采用适当数量的并发线程可以获得比单一线程高的运行速度[2]。对于多核系统中的应用软件性能优化,本文研究了基于Andro

2、id系统的并行程序设计算法和并行程序性能优化技术。1我们通过一个实际应用来分析、研究基于移动平台的应用软件优化的技术包括并行处理技术、多线程优化技术以及利用GPA工具辅助分析技术。本例是一个求圆周率3T的应用。有如下数学公式:将积分公式表示为极限:实际上Ax不可能做到无穷小,本只能让AX尽可能小,这样求出的结果越接近Jr。我们用step表示一个Ax,则num_step=l/step尽量地大。考虑到f=l/是一个凸函数,这里取一个中值来求和,即使用f[/]来代替f[i/]求和,这样求出的和不会总是比实际值偏小。最后可以得出编写程序依据的公式为:根据上面公式我们编

3、写出相应的计算程序。2原始应用研究与分析我们首先根据上述公式直接推导出应用的计算代码,此代码是没有经过优化的,我们称其为“原始应用”,将其命名为SerialPio该应用设计思路是:让计算it的任务放在辅助线程中运行,主活动上设置按钮来控制线程的运行,并用一个TextView来显示任务线程的结果。应用运行的界面如图1所示。应用启动后的界面如图1所示。当我们点击“开始计算”按钮后,界面所有的按钮都变成灰色,直到计算31的线程运算完成。这时,界面显示nr的计算结果以及线程运行的总时间,如图1所示。从上述运行界面可知,此应用计算it的时间大约为22秒多。多次运行此应用

4、,其显示的计算时间也大约为此时长。ISerialPi应用运行的界面在原始应用中新建线程类MyTaskThread,让其计算nr的值。编辑源文件,主要代码如下:lpackage;2publicclassMyTaskThreadextendsThread{3privateHandlermainHandler;4publicstaticfinalintMSG_FINISHED-l;//定义表示计算结束"的消息类型5privatestaticfinallongnum_steps=200000000;//公式中的num_steps变量,总步数6privatestatic

5、finaldoublestep=/num_steps;//公//ii的计算结果式中的step变量,步长7publiestaticdoublepi=;20publievoidrun21{22doublex,sum=;231ongi;24for{25x=*step;26sum=sum+4.0/;27}28pl=step氺sum;29Messagemsg=newMessage;30二MSG_FINISHED;//定义消息类型31mainHandMessage;//发送消息}第22行至第28行是根据计算公式书写的计算n的代码。这里x变量是函数f=l/的自变量X,sum

6、是5:的累积变量。累积充E后,最后在第28行,让:n:=stepX12算出最后结果。【在线程的rim函数中,一旦计算完成,在第29行开始,就向主线程发送计算完成的消息】编辑主程序的源代码文件,让其控制线程的运行,并显示计算结果,其主要代码如下:lpackage;2publicclassMainActivityextendsActivity{13privateMyTaskThreadmyThread=null;14privateTextViewtv_TaskOutputlnfo;//显示任务线程输出15privateHandlermHandler;;16priv

7、atelongend_time;17privatelongtime;18privatelongstart_time;38mHandler=newHandler{39pub1icvoidhand1eMessage{40switch42caseFINISHED:43end_time=;44time=endtime-starttime;45Strings="运行结束,Pi="++"耗时:46+;47tv_;48btn_;49break;50default:break;}}};61privatevoidstartTask{62myThread=newMyTaskThr

8、ead;//创建一个线程63if)64

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。