欢迎来到天天文库
浏览记录
ID:15395883
大小:1.92 MB
页数:38页
时间:2018-08-03
《浅谈android应用开发中的优化-友盟陈彧堃》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、Android应用开发中的优化和设计陈彧堃Weibo:~/chenyukun1互联网营销资料库垂柳社区编辑www.Chuiliu.com垂柳资料库当前容量:2350G(2013.6)关于友盟。。。1面向中国移动开发者、开发商的服务平台2实时统计分析、开发组件、应用联盟3行业沙龙4数据报告3Agenda•用户体验为本•开发难点•优化策略•复用4应用开发者的关注点第三方应用…•应用开发属于Application层,重点在灵活使用AndroidSDKAPI•电话/短信—掌握Framework层相关技术•ROM/OSportin
2、g—Library5用户体验为本快——唯快不破•触摸反应时间长•ANR(ApplicationNotRespond)•网络等待6用户体验为本7用户体验为本友好——用户操作流畅,自然•UI不适配•从后台打断用户•照搬ios设计,不顺应android的用户习惯8用户体验为本省电本地复杂算法Service频繁更新网络请求频繁•平均启动时间1分钟,一次GPRS请求10秒左右•重试请慎重9开发中的难点GFWhttp://developer.android.com/http://android-developers.blogs
3、pot.comhttp://groups.google.com/group/android/developers10开发中的难点适配•硬件•分辨率•OS11开发中的难点内存管理•单个程序24M•OOM(outofmemory)12视图优化Layoutprofiling:Layoutopt~/tools/layoutopt.bat•FrameLayout滥用•超过13层•超过80个view…13视图优化减少View以及View的嵌套层次14视图优化减少View以及View的嵌套层次15视图优化HierarchyViewer
4、:~/tools/hierarchyviewer16视图优化PNG图片压缩•Draw9patch~/tools/draw9patch.bat•Android原生的很多图片其实都很小9patch直接拉伸17视图优化PNG图片压缩•如何从左侧简单小图拉伸到右侧大图?selector18视图优化PNG图片压缩19视图优化PNG图片压缩2020视图优化PNG图片压缩•一个更复杂的例子21视图优化PNG图片压缩•可以带来几十K的apk压缩•GPRS下载成功率会大幅度提高22视图优化分辨率适配•-ldpi,-mdpi,-hdpi配置
5、不同精度资源•系统会根据设备自适应•包括drawable,layout,style等不同资源23视图优化尽量使用dp(densityindependentpixel)•Pixel的问题?24视图优化尽量使用dp(densityindependentpixel)•系统跟应用的对话25视图优化尽量使用dp(densityindependentpixel)•系统跟应用的对话•如果你说:“我对这种屏幕没有做特殊处理”,那么奇迹发生了。系统启动兼容模式,很多关于尺寸的数据会变化。•比如800*480的设备,通过API获取到的分辨率
6、是533*320,这是系统为了使(10px,10px)能实际绘制到(15px,15px)设的骗局。26视图优化•多用wrap_content,fill_parent,dp•抛弃AbsoluteLayout•代码中不要使用pixel27内存优化Bitmap压缩•图片读取是OOM的常客•Dalvik给每个应用分配24M内存,真正可用于图片处理的已不多28内存优化变量•了解JIT(JustInTime)编译器的基本优化原则•反OO:避免getter和setter,直接访问field最高效。JIT还不能对getter做inlin
7、e,直接访问可提速7倍JIT:http://android-developers.blogspot.com/2010/05/dalvik-jit.htmlBenmark:http://code.google.com/p/dalvik/source/browse/#svn/trunk/benchmarks29内存优化变量•高效数组遍历•two()isfastest30内存优化JNI(JavaNativeInterface)有现成C/C++模块时可复用一定会提速?No!•Java-nativelinktime•JIT很难
8、对nativecode优化http://developer.android.com/guide/practices/design/jni.html31内存优化流存储•下载大文件时一定要有buffer32网络优化文本数据压缩•Deflate/Gzip(基础算法vs增加header和crc)•是压缩前数据大小的30%左右
此文档下载收益归作者所有