`
xiaozilong88
  • 浏览: 24416 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

给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平台随带了众多免费的实用工具,可以帮助跟踪和解决应用程序中的性能问题。
分享到:
评论

相关推荐

    给Android应用开发者的十个建议终版.pdf

    Android应用开发者在构建高质量应用时,需要遵循一系列最佳实践,以确保应用的响应速度、性能和稳定性。以下是从给定文件中提取的十个关键建议: 1. **良好编码习惯**:开发者应具备良好的编程规范,如使用标准设计...

    微盘AndroidSDK开发者文档1

    总之,新浪微盘VDisk Android SDK为开发者提供了一套完整的工具集,使得在Android应用中整合微盘服务变得简单易行。通过遵循上述步骤,开发者可以顺利地将微盘的功能整合到自己的应用中,提升用户体验,同时也拓宽了...

    oppo 开发者指引, Android13兼容性处理建议

    在 Android 13 中,OPPO 开发者需要注意以下几个关键点,以确保应用程序的兼容性和稳定性。 前台服务 (FGS) 任务管理器 Android 13 中引入了前台服务 (FGS) 任务管理器,用于管理应用程序的前台服务。开发者需要...

    每个Android开发者必须知道的资源集锦1

    官方的Android开发者博客,其中的避免内存泄漏和Android应用内存分析文章尤为值得关注;Romain Guy的博客,他的Android性能案例研究值得深入研究;Chet Haase的Codependent,对于Android动画有深入见解;Cyril ...

    Android应用耗电排行显示

    综上所述,"Android应用耗电排行显示"项目涉及了Android电量监控API的使用、数据解析、UI设计、权限管理等多个方面,通过这样的应用,开发者不仅可以了解系统的电量消耗情况,还可以帮助用户更好地管理他们的设备,...

    Android 应用开发基础

    Android应用开发基础涵盖了从系统架构到开发环境搭建的多个关键知识点。首先,Android作为一个开源的操作系统,是Google基于Linux平台开发的,适用于智能手机。其核心包括操作系统、中间件以及一系列预装的应用程序...

    Android应用隐私条例与敏感行为一致性检测.pdf

    Android 应用隐私条例与敏感行为一致性检测是移动应用安全检测的重要方面,本文提出的一种自动化检测工具可以帮助移动应用开发者更好地保护用户隐私,并且可以帮助检测应用隐私条例的一致性问题。

    Android移动应用开发 贪吃蛇小游戏

    初学Android 移动应用开发者 涉及知识点: 视图重绘,canvas,自定义对话框,布局等 建议和说明: 代码仅供初学者参考,对于有一定学习时长的入门者无参考价值,通过完整项目可体会到一些简单的应用开发思路和解决...

    基于Android studio的一个BMI项目.zip

    Android Studio是一款强大的集成开发环境(IDE),专为Android应用开发者设计。在这个基于Android Studio的BMI(Body Mass Index,身体质量指数)项目中,开发者旨在创建一个用户友好的应用,帮助用户计算并跟踪他们...

    Lazarus开发Android应用程序指南

    ### Lazarus开发Android应用程序指南 ...通过以上步骤,开发者可以建立起一个完整的开发环境,进而进行Android应用程序的开发工作。未来的内容将会进一步探讨如何利用Lazarus进行具体的Android应用开发实践。

    C#开发Android应用实战 使用Mono for Android和.NET C#》.((美)麦克卢尔)

    2. **Mono for Android框架**:Mono for Android是 Xamarin 的一部分,它允许开发者使用C#和.NET工具链来创建原生的Android应用。书中会详细阐述如何安装和配置Mono for Android开发环境,以及如何使用Visual Studio...

    Android应用源码-Android安卓设计实例源代码112个合集.zip

    "Android应用源码-Android安卓设计实例源代码112个合集.zip"是一个包含丰富实例的压缩包,旨在帮助开发者深入理解Android应用程序的设计与实现。这个合集不仅为初学者提供了实践的平台,也对经验丰富的开发者提供了...

    SVG转Android VectorDrawable工具

    在Android应用开发中,高质量的图形资源是必不可少的,SVG(Scalable Vector Graphics)是一种矢量图格式,因其无损缩放、体积小、支持透明度等特性,被广泛用于移动应用。然而,Android原生支持的是VectorDrawable...

    android应用开发流程

    本文旨在帮助菜鸟开发者快速入门 Android 应用开发,提供了详细的流程和经验总结。 准备工作 在开始 Android 应用开发之前,需要具备以下技能: 1. Java:掌握 Java 是 Android 应用开发的基础,建议掌握 Java 的...

    OK210Android应用开发手册

    ADB是一个命令行工具,它允许开发者与连接的Android设备进行通信,而DDMS则提供了图形界面用于调试和监控Android应用程序。在这一章节中,开发者将学习如何搭建ADB调试环境,以及如何调试一个名为TestKey的应用程序...

    Android9.0开发手册-官方更新

    - 基于用户行为预测并提供上下文相关的应用内操作建议,例如:如果检测到用户连接了蓝牙耳机,系统可能会推荐打开音乐播放器应用。 4. **Slices** - 允许开发者创建动态UI片段来展示重要信息或执行快速任务,如...

    健康在线站内信android应用

    【标题】"健康在线站内信android应用"揭示了这个项目是针对健康领域的在线通信功能在Android设备上的实现。在移动健康领域,这样的应用程序通常包括用户管理、消息通知、健康数据共享等功能,旨在提高用户的健康管理...

Global site tag (gtag.js) - Google Analytics