10种技巧可提升Android应用运行效果
转载自:http://dev.10086.cn/cmdn/bbs/thread-73436-1-1.html随着手机平台的发展和所提供应用的提升,质量成为应用成功的最重要因素。如果那些应用无法提供强大的功能和稳定的用户体验,那就会很快被用户卸载。开发者需要记住的是,虽然Android智能手机和平板电脑的速度日益提升,但其应用仍然运行在资源有限的环境中,其电池及处理器性能与最新的台式电脑、手提电脑仍存在差距。以下是某些优化应用运行效果的方法:
我们先来阐述某些让应用反应灵敏的编程技巧。
技巧1:从优秀的编程开始
要采用已为用户所接受的运算法则和标准的设计样式,这些被人们长期使用的编程法则也同样适用于Android应用,尤其当这些应用使用内在设备服务时。
比如,假设你编写的应用需要以地理定位服务为基础。只需要在必要时开始注册进行位置更新,在无需更新信息时,确保应用停止更新进程。这会帮助节省设备的电量和系统处理器的负担。
技巧2:保持应用的灵活性
通过使用AsyncTask、IntentService或自定义背景服务来保持应用的灵活性。使用加载器来简化加载时间较长数据的状态管理,比如光标。不可让应用在其他进程进行时显得缓慢或完全静止。
如果某些操作需要一定的时间和资源,应当将这个进程单独分离出来异步处理,这样你的应用才能够保持流畅的运行。可以运用这种方法的操作包括:磁盘读写,访问内容供应方、数据库和网络,其他需要较长时间的任务。
技巧3:使用最新的Android SDK版本和API
保持应用的更新,使用Android平台提供的最新内容。随着Android平台的发展,它也在逐步改善中。某些功能被移除,或者替换成更好的选项。其核心API中的漏洞已修复,整个API性能已得到提升。该平台已引入装载器之类的新API,帮助开发者编写更为稳定和反应灵敏的应用。
Android 3.0应用支持硬件加速,你可以加以应用。应当理解的是,最佳的表现情况会随着时间逐渐改变。睿智的开发者会更新平台发布的最新内容和API。
技巧4:检查Strict Mode
你可以使用称为“StrictMode”的Android API来查找编程中的问题。StrictMode会帮助你识别应用是否正在耗费内存,也可以帮你检查应用是否正在尝试开展漫长的模块化操作。
StrictMode类(注:即android.os.StrictMode)与Android 2.3同期发布。
技巧5:在发布之前停用或最小化调试和诊断
你在Android应用的开发中可能会将某些调试代码构建其中。在应用发布之前确保这些功能被最小化或完全停用。
接下来,让我们来讨论如何用优秀的用户界面设计原则让你的应用加载速度更快。
技巧6:保持布局简洁自然
简洁自然的布局会加快加载速度。不要让屏幕布局中充斥过多不必要的内容。花点时间开发用户可以有效使用的简洁用户界面,不要将过多的功能性内容塞入单个屏幕中。这不仅对应用表现有帮助,而且会帮助用户更有效地使用应用。
分割内容可以帮助划分用户界面功能性,同时不牺牲应用在各种不同设备上的灵活性。
技巧7:根据目标设备调整应用资源
根据特定的设备配置来调整资源,这样它们就能够有效地加载。在图像资源方面,这个显得尤为重要。如果你的应用中有大型的图片资源需要加载,那么要做好调整。
另一个技巧是,当以许多种设备为目标时,保持应用包文件大小合适,只需要在其中包含应用运行所需的核心资源即可,然后让用户根据具体设备下载应用其他内容。
技巧8:使用Hierarchy Viewer工具
Hierarchy Viewer工具可以帮助你解除应用布局中的漏洞。它还提供了许多有价值的信息,比如每个View控制需要多长的时间。找到问题所属领域,这样解决问题会更加简单。
技巧9:使用layoutopt工具
layoutopt工具是个简单的命令行工具,可以帮助你识别不必要的控制和其他让你布局资源崩溃的事项,提升其性能。它可以帮助你找到不必要的多余布局控制。较少和较浅布局可优化应用运行性能。
最后,在自认为应用达到最好状况时,对其进行测试。
技巧10:使用Traceview和其他Android应用压缩工具
Android SDK中有许多可以压缩应用的工具。可能最流行的工具就是Traceview,这个图像工具可以帮助你调试和找到应用的性能问题。
结语
目前有许多方法可以让你的Android应用运行加速。有些涉及到使用某种具体的运算法则,其他依靠某些真正的调试和运行监管技术。Android平台中有许多种免费的工具可以用来帮助跟踪和调整应用中的表现问题。你已经知道了以上10种技巧,现在可以尝试使用它们!
--------------------编程问答-------------------- 很好,谢谢
--------------------编程问答-------------------- 非常好,谢谢分享 --------------------编程问答-------------------- --------------------编程问答-------------------- 先占位,,,有时间再细看 --------------------编程问答-------------------- 谢谢分享 --------------------编程问答-------------------- 谢了楼主,真好值得一看 --------------------编程问答-------------------- 刚刚开始学习Android,正好用来作为学习的一项标准吧。。谢谢楼主。。。。 --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- 好哦,谢谢。看过 --------------------编程问答-------------------- 很好!很有帮助 --------------------编程问答-------------------- 楼主辛苦了 加油 --------------------编程问答-------------------- 谢谢楼主分享··· --------------------编程问答-------------------- 谢谢分享~~ --------------------编程问答-------------------- 非常好,谢谢分享
--------------------编程问答-------------------- 学习,非常不错! --------------------编程问答-------------------- --------------------编程问答-------------------- 很好,学习不错的,很好啊 --------------------编程问答--------------------
先占位, --------------------编程问答-------------------- 很好,很强大 --------------------编程问答-------------------- 很好,谢谢
--------------------编程问答-------------------- --------------------编程问答-------------------- 上面的为什么都在叫好 --------------------编程问答-------------------- 正处在看视频入门期间,这个看看 --------------------编程问答-------------------- --------------------编程问答-------------------- 外行能学不?! --------------------编程问答-------------------- 谢了楼主,真好值得一看 --------------------编程问答-------------------- 不错学习一下 --------------------编程问答-------------------- 但是用最新的SDK的话,很多用户的手机都装不上 --------------------编程问答-------------------- --------------------编程问答-------------------- 非常好,谢谢分享。 --------------------编程问答-------------------- 那我试下,谢谢啦! --------------------编程问答-------------------- 学习了,感谢楼主 --------------------编程问答-------------------- 感谢分享 --------------------编程问答-------------------- --------------------编程问答-------------------- 支持分享 --------------------编程问答-------------------- 很好!谢谢 --------------------编程问答-------------------- 很好! --------------------编程问答-------------------- 谢谢分享!!! --------------------编程问答-------------------- --------------------编程问答-------------------- 不清楚?????????????? --------------------编程问答-------------------- 恢复获得经验 --------------------编程问答-------------------- 谢谢楼主分享··· --------------------编程问答-------------------- --------------------编程问答-------------------- 很好!很有帮助。。。。。。。。。。。。 --------------------编程问答-------------------- --------------------编程问答-------------------- 嗯 ,不错,好好学习了 --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- 这个不错..支持.. --------------------编程问答-------------------- 好好学习,ANDROID刚接触呢 --------------------编程问答-------------------- thanks --------------------编程问答-------------------- 还是不好用 --------------------编程问答-------------------- 正好能用上 --------------------编程问答-------------------- 感谢楼主分享!!!!!!!!! --------------------编程问答-------------------- 还没开始用 --------------------编程问答-------------------- 谢谢分享 --------------------编程问答-------------------- 留下 看看 --------------------编程问答-------------------- 正要学习,谢谢了! --------------------编程问答-------------------- 谢谢分享 --------------------编程问答-------------------- 多谢楼主,受教了~ --------------------编程问答-------------------- --------------------编程问答-------------------- android的模拟器跑起来着实慢呀。。。。 --------------------编程问答-------------------- --------------------编程问答-------------------- 其实这种说了跟没说差不多,至少弄个实例和效果对比吧~ --------------------编程问答-------------------- 说跟没说一样,一篇软文,鉴定完毕。 --------------------编程问答-------------------- 感謝分享~ --------------------编程问答-------------------- 谢谢分享 --------------------编程问答-------------------- 非常好,谢谢分享 --------------------编程问答-------------------- 谢谢分享!! --------------------编程问答-------------------- --------------------编程问答-------------------- 非常好,谢谢分享 --------------------编程问答-------------------- Hierarchy Viewer如何用?谁给个链接 --------------------编程问答-------------------- --------------------编程问答-------------------- .
借鉴了```很好很强大 --------------------编程问答-------------------- --------------------编程问答-------------------- 谢谢分享 --------------------编程问答-------------------- 很好 很强大 ~~~~~~~~~~ --------------------编程问答-------------------- 不错,好方法,去试试先 --------------------编程问答-------------------- 谢谢分享, --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- 不错呀谢谢了 --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- 值得一看
--------------------编程问答-------------------- --------------------编程问答-------------------- 谢谢分享 --------------------编程问答-------------------- 非常给力啊 --------------------编程问答-------------------- 谢谢分享,很有用。 --------------------编程问答-------------------- 很少用啊 学习 --------------------编程问答-------------------- 谢谢分享。 --------------------编程问答-------------------- 我感觉还是使用版本比较低的SDK,这样可以保证软件的兼容性。 --------------------编程问答-------------------- 好用,定下。 --------------------编程问答-------------------- 非常好,谢谢分享 --------------------编程问答-------------------- --------------------编程问答-------------------- 很好,学习了, --------------------编程问答-------------------- 很好很强大啊。。 --------------------编程问答-------------------- 非常感谢 我试试
补充:移动开发 , Android