给Android应用开发者的十个建议

随着移动平台的发展和其应用的不断改善,质量成为决定成败的关键。用户要求他们选择安装的应用响应快、性能好,如果某个应用不能提供卓越的功能和稳定的用户体验,那这样的应用注定会被很快卸载。

尽管现在Android智能手机和平板电脑的运行速率越来越快,但开发者仍需牢记,应用的运行环境仍受到电池和处理器等诸多资源的限制。以下是如何为应用“瘦身”的十条建议,以便能在当前和以后的所有Android设备都能运行出最佳效果。

  1)首先要有良好的编码习惯

  一个优秀的开发者应该善于运用常识、完善的算法和标准设计模式。要有资源意识,打开了就要记得关闭,尽量做到晚获取,早释放。这些由来已久的编码准则同样适用Android应用开发,尤其是使用基础设备服务时。

  2)让阻塞操作远离主UI线程

  通过使用AsyncTask、线程、IntentService和自定义后台服务,保证应用的灵活性。使用加载工具简化游标等长时间加载数据的状态管理。当有其他程序运行时,不能让你的应用滞后或中止。

  如果一个操作需要消耗较多时间和资源时,取消该操作,换成异步处理,这样应用就能保持响应,用户可以继续各种操作。该方法适用磁盘读写、访问内容提供方、数据库和互联网,以及解析和其他需要花费较长时间的任务。

  3)使用最新的Android SDK版本和API

   使用Android平台的最新产品,保证你的应用紧跟Android的更新步伐。随着Android平台的不断发展,部分功能可能被弃用或被更好的功能 取代,核心API接收了bug修复和性能改进,新API有助于开发者编写出更稳定的应用。要明白最佳的做法总是随着时间的推移而变,聪明的开发者应该总是 站在整个平台的最前沿。

  4)考虑使用StrictMode

  从Android 2.3开始提供了一个新的类StrictMode,该类可以用于捕捉发生在应用程序主线程中耗时的磁盘、网络访问或函数调用,可以帮助开发者改进程序,使主线程处理UI和动画在磁盘读写和网络操作时变得更平滑,避免主线程被阻塞。

  5)发布前禁用或尽量减少调试

  如果开发周期较长,你很可能在应用中内置了一些日志或调试代码,在发布前确保这些功能已经最小化或完全禁用。

  6)确保UI布局简单优雅

  简单的屏幕不仅方便阅读,还能加快加载速度。与其在一个单一屏幕上堆砌太多不必要的功能,不如花时间去开发优雅的用户界面。简单优雅的UI不仅能提高应用性能,还能提高用户使用该应用时的效率。

  7)根据目标设备调整应用资源

  为尽可能高效地被加载,需要根据具体设备的配置调整相应资源,尤其是图片资源。为使应用包文件合理适用不同设备,首先可只添加运行该应用需要的核心资源,然后再根据具体设备下载相关内容。

  8)使用Hierachy Viewer可视化调试工具

  Hierachy Viewer能很方便地在开发者设计,调试和调整界面时,快速定位问题,解决问题,提高开发效率。

  9)使用layoutopt进行布局优化

  Layoutopt是一款简单的命令行工具,可帮助找到不必要的控件嵌套以及缩减布局资源,从而使应用变得可能“苗条”。控件越少、布局层次越浅,性能就越好。

  10)使用Traceview及其他Android工具进行分析

  Android SDK随带了很多用于应用分析的工具,其中最受欢迎的是Traceview,这款图形工具可以帮助调试和找到应用中的性能瓶颈。

  结语

  提升Android应用性能的方法有很多,有些需要使用特定的算法,有些依赖切实可行的调试和性能监测技术。幸运的是,Android平台随带了众多免费的实用工具,可以帮助跟踪和解决应用程序中的性能问题。

时间: 2024-08-08 05:30:51

给Android应用开发者的十个建议的相关文章

给Android 应用开发者的十个建议(转)

转:http://news.cnblogs.com/n/138009/#comment 随着移动平台的发展和其应用的不断改善,质量成为决定成败的关键.用户要求他们选择安装的应用响应快.性能好,如果某个应用不能提供卓越的功能和稳定的用户体验,那这样的应用注定会被很快卸载. 尽管现在 Android 智能手机和平板电脑的运行速率越来越快,但开发者仍需牢记,应用的运行环境仍受到电池和处理器等诸多资源的限制.以下是如何为应用“瘦身”的十条建议,以便能在当前和以后的所有 Android 设备都能运行出最佳

如何获取和安装Android L开发者预览版

周三谷歌推出下一个流行的移动操作系统Android L.但是只提供了简单地预览版本,稍后将提供一个开发者预览版,完整版计划在今年秋天发布. 下面我们一起来看看如何下载和安装. 在你安装AndroidL开发者预览版之前,你需要知道的几件事情: 1.此版本是不稳定的,不建议在你的常用设备上使用: 2.加载过程不是很简单,你需要借助于命令行工具并且具有错误排除能力. Google已经在下载页面和系统启动页面提示了,此次开发者预览版只适合 Nexus 5 和Nexus 7 而且不需要开发者账号. 下载系

高效开发Android App的10个建议

假如要Google Play上做一个最失败的案例,那最好的秘诀就是界面奇慢无比.耗电.耗内存.接下来就会得到用户的消极评论,最后名声也就臭了.即使你的应用设计精良.创意无限也没用. 耗电或者内存占用等影响产品效率的每一个问题都会影响App的成功.这就是为什么在开发中确保最优化.运行流畅而且不会使Android系统出问题是至关重要的了.这里不需要讨论高效编程,因为我们不会关心你写的代码是否能够经得起测试.即使高效的代码也是需要时间来运行.今天这篇文章我们就讲讲怎么尽可能地缩短运行时间,以及如何开发

谈谈Android个人开发者的现状

在读大四的时候,由于之前对于JavaME的开发比较感兴趣,突然了解到了Android的存在,于是便有幸见证了Android的崛起,毕业后便开始从事了几年的Android开发. 其中,我也做了一段时间的个人APP,就暂且在这里谈一下我对Android个人开发者的现状的一些看法. 11年上半年,当时还未毕业,由于确实是对Android很感兴趣,便向家里人"申请"换手机.于是就买了个摩托罗拉XT502,那个时候大概是3.2寸屏,单核600MHZ,内存才256MB左右,价格在2200元左右,当

Android开发的十个建议

尽管现在Android智能手机和平板电脑的运行的速率越来越快,但开发者仍需牢记,应用的运行环境仍受到电池和处理器等诸多资源的限制.以下是如何为应用“瘦身”的十条建议,以便能在当前和以后的所有Android设备都能运行出最佳效果. 1) 首先要有良好的编码习惯   一个优秀的开发者应该善于运用知识.完善的算法和标准设计模式.要有资源意识,打开了就要记得关闭,尽量做到晚获取.早释放.这些由来已久的编码准则同样适用Android应用开发,尤其是使用基础设备服务时. 2) 让阻塞操作原理UI线程   通

作为一名Android APP开发者的自我总结

每当接近年尾,最痛苦的工作无疑是写年终总结,写总结的同时不禁感叹这一年过得不容易阿.突然想起这一年也是自己开发Android APP的第一年,于是觉得应该给自己的APP来一个年终总结. 一.开发方面 严格来说,我只有8个月的Android开发年龄,同样过着苦逼Android开发者的生活:完成公司任务后回家继续Coding,用了大约2个月的碎片时间才完成自己第一个APP. 第一个APP是非常有爱的笔记工具,虽没有Evernote那么出色,但更贴近我自己的生活.很遗憾,用户并没有贴近我的生活,所以这

[转]给嵌入式系统工程师的十个建议

从更熟悉以开放源码软体来开发应用程式(Apps),产业专家鼓励嵌入式工程师走出舒适圈.学习新技能,才能与时俱进.回顾1980年代的嵌入式 领域,当时的工程师主要是设计混合讯号电路.连接微控制器.撰写低阶编码.从外面拿回产品原型…只要一个工程师就能做好以上所有事情.但是现在,嵌入式系 统变得更大.更复杂,一台装置可能有数百万行软体程式码:嵌入式技术也被区分为硬体开发.韧体开发与软体开发. 在很多大公司仍然是如此,但趋势似乎又有回头的迹象:有越来越多业者开始整合工程师的角色,寻找既熟悉软体也熟悉硬体

面试时,问哪些问题能试出一个Android应用开发者真正的水平?

一般面试时间短则30分钟,多则1个小时,这么点时间要全面考察一个人难度很大,需要一些技巧,这里我不局限于回答题主的问题,而是分享一下我个人关于如何做好Android技术面试的一些经验: 面试前的准备 1. 简历调查 简历到你手上的时候,你要做好充分的调查分析,不仅仅是对公司负责,也是对自己与候选人时间的尊重,明显不match的简历,就不要抱着“要不喊过来试试看”的想法了,候选人也许很不错,但如果跟你的岗位不match, 也不要浪费大家时间,你要想清楚现在需要的人是有潜力可以培养的,还是亟需帮忙干

Android 个人开发者接入支付功能

如果是公司的产品,那么也就不存在问题了,Ping++对所有支付做了一个集成.如果开发者个人想接入支付系统,这个申请过程几乎是不大可能的.而Bmob为广大开发人员提供的统一.正规的收费手段,让没有企业认证的个人开发者,也能通过支付宝和微信向用户收费.但是有一个缺点,支持的渠道少,只支持支付宝和微信.此外,微信支付还要安装一个插件,用户体验及其不好. 官方的文档在这里Android支付SDK 接入Bomb也很简单,首先下载BmobPay_Sdk_V1.0.2a.zip 将Lib中的四个jar文件拷到