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

[转载]开发者必知:提升Android应用开发性能的十大要点

阅读更多
第一个要点:首先要有良好的编程习惯

要成为一名优秀的资源管理员;既要运用常识,还要使用公认的算法和标准的设计模式。在资源使用方面,如果你打开了资源,要记得关闭资源。要尽量晚地获取,尽量早地释放。这些由来已久的编程准则同样适用于你的Android应用程序,如果它们使用底层的设备服务,更是如此。

比如说,假设你编写的一个应用程序依赖基于位置的服务。除非你绝对有必要,否则不要开始注册、获取位置最新信息;而且要确保,一旦你不再需要这些信息,就要取消获取最新信息的注册。这将帮助你避免不必要地耗费设备电池电量或占用系统资源。

第二个要点:让阻塞操作远离主用户界面线程

想确保你的应用程序运行起来很灵活,就要使用AsyncTask、线程、IntentService或自定义后台服务来处理脏活。应使用装入器来简化装入时间长的数据(如游标)的状态管理。你无法容忍你的应用程序在某个操作正在处理的时候出现滞后或停顿。

如果某个操作很费时间和资源,就要卸载这部分操作、对它进行异步处理,那样你的应用程序仍保持响应迅即,用户可以处理他们的事务。这个原则适用于下列操作:磁盘读写,访问内容提供方、数据库和互联网,以及解析和其他长时间的任务。

第三个要点:使用最新的Android软件开发工具包(SDK)版本、应用编程接口(API)和最佳实践

确保你开发的应用程序是最新的,因而要使用Android平台提供的最新工具。随着Android平台不断发展,它也在不断改进。一些功能可能已被弃用,或者换成了更好的功能。核心API得到了修正版(bug fix)和性能改进。已经引入了装入器等新的API,帮助开发者编写出运行更稳定、响应更迅即的应用程序。

你知道可以启用Android3.0应用程序中的硬件加速功能吗?赶紧启用吧!要明白最佳实践会随着时间的变化而变化。明智的开发者密切关注Android平台的新功能、哪些功能不再被推荐。

第四个要点:考虑使用限制模式(Strict Mode)

你可以使用名为限制模式(StrictMode)的AndroidAPI,帮助你查明哪里违反了几个良好的编程习惯。StrictMode会帮助你确认你的应用程序是不是存在内存泄漏,并且检测你的应用程序是不是在试图执行长时间的阻塞操作,这些操作应该被卸载到线程或别的渠道(参阅第二个要点)。

Android2.3里面引入StrictMode类(android.os.StrictMode)。

第五个要点:在发布应用程序之前,禁用或尽量少用调试和诊断

如果你的Android应用程序开发起来需要一些时间,你可能已将一些日志和调试代码嵌入到了应用程序中。写入到日志及其他此类输出系统给性能带来了影响。确保在发布应用程序之前,尽量少用或完全禁用这些功能。
现在不妨说说如何运用良好的用户界面设计原则,让你应用程序的屏幕更快速地装入:

第六个要点:确保你设计的布局简单、简练和浅层

简单的屏幕有助于阅读起来最轻松,而简单的布局装入起来最快速。你不应该过于深层地嵌套你的布局,或者用不必要的过多视图(View)控件塞满屏幕。花些时间来开发用户可以高效使用的简练用户界面,而不是试图把太多功能塞入到单单一个屏幕上。这不但有助于提升应用程序的性能,还有助于让你的应用程序对用户来说更高效。

Fragments有助于在不影响灵活地针对不同类型的设备进行设计的情况下,划分用户界面功能。

第七个要点:让你应用程序的资源适合目标设备

添加适合特定设备配置的资源,那样它们就能尽可能高效地装入。我们在谈论图形资源时,这点尤为重要。如果你添加了可利用的庞大图像资源,需要装入和调整大小,就无法有效地使用其他的应用程序资源。

另一个要点就是,如果你准备你的应用程序可以在许多设备上运行,为了让应用程序软件包文件保持合理的大小,应该最初只添加运行应用程序所需要的核心资源,然后让应用程序下载适合该设备的内容。

第八个要点:使用Hierarchy Viewer工具

Hierarchy Viewer工具可以帮助你调试你的应用程序布局。它还提供了宝贵的分析信息,以便了解布局里面的每一个视图控件测量、渲染和绘制要花多少时间。只有准确找到了问题的根源,问题解决起来才容易。

第九个要点:使用layoutopt工具

Layoutopt工具是一款简单的命令行工具,它可以帮助你找到不必要的控件嵌套以及缩减布局资源的其他方法,以便尽量减少资源的使用。它让你可以了解哪些布局控件可能是多余的或不必要的。控件越少、布局层次越浅,性能就越好。

最后,你认为你的应用程序做到了最好吗?现在该对它测试一下了。

第十个要点:使用Traceview及其他Android工具进行分析

Android SDK随带了许多工具,可用来对你的应用程序进行分析。其中最流行的工具恐怕莫过于Traceview,这款图形化工具可以帮助你调试和找到应用程序中的性能瓶颈。不妨看看Android说明文档中介绍的一些调试工具。

结束语

有许多方法可以帮助你提升Android应用程序的性能。有些需要使用特定的算法,有些依赖切实可行的调试和性能监测技巧。幸好,Android平台随带众多免费的实用工具,可以帮助你查明和消除应用程序里面的性能问题。既然有了这些工具,就要立马使用!

分享到:
评论

相关推荐

    Android应用开发揭秘-源码+pdf(全清晰)

    《Android应用开发揭秘》是一本深入探讨Android应用开发的专业书籍,涵盖了从基础知识到高级技术的全方位解析。书中通过源码分析和实例讲解,帮助开发者理解Android系统的内部运作机制,提升应用设计与开发的能力。 ...

    软件开发者路线图:从学徒到高手

    《软件开发者路线图:从学徒到高手》完整版,以前下载过6.3M那种,只有1、2章,此为完整版,旨在分享好东西

    Android应用开发详解(PDF+全部的源代码)

    《Android应用开发详解》这本书是Android开发者的重要参考资料,它涵盖了从基础到高级的全面知识,旨在帮助读者深入理解和掌握Android应用程序的设计与实现。书中不仅有详尽的理论讲解,还附带了完整的源代码,方便...

    Android系统原理与开发要点详解

    通过阅读《Android系统原理与开发要点详解》,开发者不仅能全面了解Android系统的工作原理,还能掌握实际开发中的技巧和最佳实践,从而提升开发效率和应用质量。无论你是初学者还是经验丰富的开发者,这份文档都值得...

    Android系统原理及开发要点详解课件

    本课件“Android系统原理及开发要点详解”由知名讲师韩超精心编排,旨在帮助开发者深入理解Android系统的底层机制,提升开发技能。 首先,我们要了解Android系统的架构。Android系统分为四个主要层次:Linux内核层...

    Android应用--简、美音乐播放器开发项目

    1. **Android SDK**:Android应用开发的基础是Android Software Development Kit (SDK),它包含了开发、测试和调试Android应用所需的所有工具。开发者需要熟悉Android Studio,这是一个集成开发环境(IDE),提供了...

    Android应用案例开发大全(配书光盘)

    《Android应用案例开发大全》是一本深度探讨Android应用程序开发的实战型书籍,旨在帮助开发者通过实际案例提升技能,掌握Android平台上的应用设计与实现。这本书的配书光盘可能包含了书中各个章节的源代码和相关...

    《Android应用程序开发与典型案例》完整版PDF-23章全.pdf

    核心库层包括了支持Android应用开发的基础库,比如Android专用的Java库和运行时库,这些库提供了丰富的方法和接口供开发者使用,从而可以开发出功能丰富的应用程序。 #### 应用程序框架 Android提供了一个开放的...

    Android应用源码系统原理与开 发要点详解_培训课件.zip

    **Android应用源码系统...通过这份培训课件,开发者不仅可以掌握Android应用开发的基本技能,还能深入理解系统底层原理,从而编写出更高性能、更安全的应用。无论是初级开发者还是经验丰富的工程师,都能从中受益匪浅。

    《实战Android应用开发》光盘资源

    《Android应用开发实战》:国内首本基于Android4.0...感兴趣的读者可以根据书中的指引来实现这个案例,在这个过程中既可以获得大型Android应用开发的经验,又能巩固基础理论知识,迅速成为一位有经验的Android开发者。

    7个代表性的Android应用程序完整源代码

    在Android开发领域,掌握实际应用的源代码是提升技能的关键步骤。...通过深入研究这些源代码,开发者不仅可以了解各种编程技巧,还能学习到如何组织和结构化大型项目,提升自己的Android应用开发能力。

    Android经典项目案例开发实战宝典源码

    1. **基础应用开发**:Android平台的基础应用开发包括用户界面设计、数据存储、网络请求等。源码中可能包含了各种类型的App,如天气预报、新闻阅读器或社交应用,这些案例将展示如何有效地构建和管理Activity,使用...

    Android经典项目开发实战_源代码

    《Android经典项目开发实战》这本书的源代码涵盖了多个Android应用开发的重要知识点,这些代码实例是学习和提升Android编程技能的宝贵资源。以下是基于这些源代码所涉及的关键技术点的详细说明: 1. **Activity与...

    Android开发文献

    在Android开发领域,掌握核心知识点是提升开发技能的关键。这些文献涵盖了从基础到高级的多个主题,对于初学者和有经验的开发者都有很高的参考价值。以下是根据提供的文件名称解析出的相关知识点: 1. **Android...

    Android移动开发案例详解(源码)

    《Android移动开发案例详解(源码)》是一份专为Android编程爱好者提供的宝贵资源,它涵盖了Android应用开发的多个重要方面。在这个压缩包中,你可以找到一系列实际的项目案例源码,这对于深入理解和掌握Android开发...

    Android开发教程笔记完全版 pdf

    Android开发是全球最受欢迎的移动应用开发平台之一,广泛应用于智能手机、平板电脑以及各种智能设备上。这份"Android开发教程笔记完全版"涵盖了Android开发的基础到高级主题,旨在帮助开发者全面理解并掌握Android...

    android邮箱开发实例源码

    通过深入研究《android应用开发深入学习实录》中的邮箱开发源码,开发者可以了解到以上各个知识点的实际运用,进一步提升Android应用开发技能。这些源码实例通常包含完整的功能模块,对于理解邮箱应用的工作原理及其...

    Android 应用程序框架

    Android应用程序框架是构建Android应用的核心组成部分,它为开发者提供了丰富的工具和组件,使得开发者能够高效地开发出功能丰富、用户体验良好的移动应用。在Android中,MVC(Model-View-Controller)设计模式是一...

    900多个android开发小图标素材,很多精美小图标收集

    在Android应用开发中,图标是用户界面不可或缺的一部分,它们不仅为用户提供直观的视觉标识,还能增强应用程序的整体用户体验。本资源包含超过900个专为Android平台设计的小型图标素材,这些图标覆盖了多种用途和...

Global site tag (gtag.js) - Google Analytics