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开发者应该熟悉几个例子,有助于初学者快速掌握android的基础和简单...
以下从几个关键点来详细介绍这些知识点。 首先,关于Kotlin语言本身,这是一种运行在Java虚拟机(JVM)上的编程语言,它与Java兼容,但又有很多创新特性。Kotlin旨在提高开发者的生产力,减少代码量,同时提高代码...
这个文档通常会涵盖以下几个核心方面: 1. **Android体系结构**:Android系统基于Linux内核,由多个层次组成,包括应用程序层、应用程序框架层、系统库和服务层以及Linux内核。中文API文档会解释这些层次的作用以及...
这个过程通常包括以下几个步骤: - **分析源码**:Daggraph读取项目中的Java或Kotlin源文件,尤其是那些包含Dagger注解的部分。 - **解析注解**:它识别`@Component`, `@Module`, `@Provides`, `@Inject`等关键注解...
在使用 systrace 工具时,开发者需要注意以下几点: * 需要将 android-sdk/platform-tools/ 目录添加到 PATH 环境变量中,以便 systrace 工具可以找到 Android Debug Bridge 二进制文件。 * 需要将 Python 添加到 ...
这个主题主要涉及Android Markert发布和付费应用的一些内容,例如,如何在执行许可协议和应用收费。 Ø 开发(Developing) 为Android开发和测试工具,以及测试结果提供指导。 Ø 发布(Publishing) 关于如何部署和...
AndLang框架是一款专为Android开发者设计的工具,旨在加速项目的初期构建过程,让开发者能够更高效地搭建项目框架。这款框架包含了一系列预先封装好的组件、模块和最佳实践,旨在简化常见的开发任务,提高代码的可...
在 Android 13 中,OPPO 开发者需要注意以下几个关键点,以确保应用程序的兼容性和稳定性。 前台服务 (FGS) 任务管理器 Android 13 中引入了前台服务 (FGS) 任务管理器,用于管理应用程序的前台服务。开发者需要...
这份2012年6月的最新版可能包括以下几个部分: 1. **入门**:介绍如何设置开发环境,包括安装Android SDK、设置AVD(Android Virtual Device)以及基本的Hello World程序。 2. **应用程序组件**:深入讲解Activity...
迁移过程主要涉及以下几个步骤: 1. **导入项目**:首先,你需要将下载的源代码解压,并在Android Studio中打开。选择“File” -> “New” -> “Import Project”,然后导航到解压后的目录,选择build.gradle文件,...
本文主要讲解了Android权限管理方面几个点:Android权限背景知识;权限检查及权限兼容;跳转到app管理权限页面提到Android权限管理,业内人士都知道Google在Android6.0时提出了运行时权限管理机制,在Android6.0之前...
下面我们详细分析黎镭所提到的几个关键点: 1. 货币化 货币化是所有开发者都关心的问题,即如何通过应用程序获得收益。在这一点上,亚马逊应用商店提供了“默认全球销售”的选项,这意味着开发者的作品可以在亚马逊...
这些幻灯片可能涵盖以下几个方面的内容: 1. **Android系统更新与API详解**:可能讲解了Android当时最新的系统版本特性,比如Android 6.0(Marshmallow)或7.0(Nougat)的新功能、性能优化以及API的变更,帮助...
这些API涵盖了以下几个主要部分: 1. **核心库**:包含Java语言库,如集合框架、IO流、网络编程等,以及专门为Android定制的类,如Intent、Activity、BroadcastReceiver等。 2. **图形与用户界面**:Android提供了...
标题 "用NetBeans来开发Android的几个关键模块" 暗示了我们即将探讨如何使用NetBeans集成开发环境(IDE)进行Android应用的构建。在早期,Eclipse是Android开发的首选工具,但随着开发环境的多样化,NetBeans也加入...
5. 源码结构:Android源码主要分为几个部分,如frameworks(框架层)、system(系统服务)、libcore(核心库)、bionic(C库实现)、packages(应用程序)等。在这些目录下,你可以找到Android系统的各个组件和模块...
"Android中文开发几个文档"这个主题涵盖了一系列有助于开发者入门和进阶的资源。其中,"Android基础教程.pdf"作为一个重要的学习资料,包含了Android开发的基本概念、核心组件以及实践技巧。 首先,Android基础教程...
这份名为"几个不错的Android项目源码"的压缩包显然提供了宝贵的教育资源,旨在帮助开发者尤其是Android初学者和进阶者提高编程技巧。以下将详细解析这些知识点: 1. **源码阅读**:源码是程序的原始代码,通过阅读...