android sdk如何瘦身,给Android应用开发者的十条瘦身建议
1保持良好的编码习惯
随着iOS和Android智能手机、平板电脑的高速发展,移动设备的运行速率越来越快,对应用软件也有了更高的标准。不过对于Android系统来说,开发者们在创建高性能应用的同时,仍有一些问题需要注意。比如应用程序的资源消耗,再高性能的设备也会受到电池和处理器等多方面资源的限制。因此,给应用“瘦身”就成了Android开发者们需要重视的环节。
以下是为Android开发者准备的十条“瘦身”建议:
1.保持良好的编码习惯
一个优秀的开发者应该善于运用常识、完善的算法和标准设计模式。要有资源意识,打开了就要记得关闭,尽量做到晚获取、早释放。这些由来已久的编码准则同样适用Android应用开发,尤其是使用基础设备服务时。
2.让阻塞操作远离主UI线程
通过使用AsyncTask、线程、IntentService和自定义后台服务,保证应用的灵活性。使用加载工具简化游标等长时间加载数据的状态管理。当有其他程序运行时,不能让你的应用滞后或中止。
如果一个操作需要消耗较多时间和资源时,取消该操作,换成异步处理,这样应用就能保持响应,用户可以继续各种操作。该方法适用磁盘读写、访问内容提供方、数据库和互联网,以及解析和其他需要花费较长时间的任务。
3.使用最新的Android SDK版本和API
使用Android平台的最新产品,保证你的应用紧跟Android的更新步伐。随着Android平台的不断发展,部分功能可能被弃用或被更好的功能取代,核心API接收了bug修复和性能改进,新API有助于开发者编写出更稳定的应用。要明白最佳的做法总是随着时间的推移而变,聪明的开发者应该总是站在整个平台的最前沿。
Android开发者十条建议
4.考虑使用StrictMode
从Android 2.3开始提供了一个新的类StrictMode,该类可以用于捕捉发生在应用程序主线程中耗时的磁盘、网络访问或函数调用,可以帮助开发者改进程序,使主线程处理UI和动画在磁盘读写和网络操作时变得更平滑,避免主线程被阻塞。
2发布前禁用或尽量减少调试
5.发布前禁用或尽量减少调试
如果开发周期较长,你很可能在应用中内置了一些日志或调试代码,在发布前确保这些功能已经最小化或完全禁用。
6.确保UI布局简单优雅
简单的屏幕不仅方便阅读,还能加快加载速度。与其在一个单一屏幕上堆砌太多不必要的功能,不如花时间去开发优雅的用户界面。简单优雅的UI不仅能提高应用性能,还能提高用户使用该应用时的效率。
7.根据目标设备调整应用资源
为尽可能高效地被加载,需要根据具体设备的配置调整相应资源,尤其是图片资源。为使应用包文件合理适用不同设备,首先可只添加运行该应用需要的核心资源,然后再根据具体设备下载相关内容。
Android开发者十条建议
8.使用Hierachy Viewer可视化调试工具
Hierachy Viewer能很方便地在开发者设计,调试和调整界面时,快速定位问题,解决问题,提高开发效率。
9.使用layoutopt进行布局优化
Layoutopt是一款简单的命令行工具,可帮助找到不必要的控件嵌套以及缩减布局资源,从而使应用变得可能“苗条”。控件越少、布局层次越浅,性能就越好。
10.使用Traceview及其他Android工具进行分析
Android SDK随带了很多用于应用分析的工具,其中最受欢迎的是Traceview,这款图形工具可以帮助调试和找到应用中的性能瓶颈。
总结:
事实上,提升Android应用性能的方法并不止以上十条,有些需要使用特定的算法,有些则依赖切实可行的调试和性能监测技术。好在Android平台为开发者提供了众多免费实用的开发工具,可以帮助跟踪和解决应用程序中遇到的性能问题。
android sdk如何瘦身,给Android应用开发者的十条瘦身建议相关推荐
- 有米android sdk,有米积分墙Android SDK开发者常见问题
有米积分墙Android SDK开发者常见问题,给大家学习学习~ 有米积分墙Android SDK开发者常见问题 1.环境配置问题 1.1 有米广告SDK使用哪种字符编码 有米广告SDK使用UTF-8 ...
- nexus 6p Android SDK,Flutter没有检测到Android SDK
我一直在努力试图检测Android SDK . flutter doctor 回报 PS I:\ Projects \ Flutter \ fluttertest \ flutterproject&g ...
- android sdk方法隐藏_每个Android开发都必须知道的利器
1.背景介绍 在移动端项目功能不断完善和丰富的过程中我们一直在寻找一种可以高效开发且复用率高的开发模式,特别是多应用同步开发.管理. 在开发过程中你是否遇到需要发布影子工程?新建项目是否需要耗 ...
- 腾讯微博android sdk,腾讯微博java(android)sdk新增微博api详细介绍
本文主要介绍腾讯微博android sdk中新增微博有关的8个接口,以及使用的示例代码 注意:以下所有的api示例代码都需要先新建QqTSdkService类对象qqTSdkService并初始化,见 ...
- android sdk广告是什么东西,Android广告SDK的Package
adware adware是指广告类的恶意软件. 大部分adware都是基于广告库SDK写成的.所以我们可以通过检测广告库SDK来检测adware. APK SDK package SDK很难检测,但 ...
- 腾讯微博android sdk,腾讯微博java(android)sdk时间线api详细介绍
本文主要介绍腾讯微博android sdk中时间线有关的20个接口,以及正常获取及翻页的使用的示例代码及部分特例 注意:以下所有的api示例代码都需要先新建QqTSdkService类对象qqTSdk ...
- python sdklive2d_【Android】用Cubism 2制作自己的Live2D——android sdk样本的下载与Android studio编译!...
前言- 在浏览Live2d说明书的时候我无意中发现了一个有趣的东西,就是android sdk中居然自带动态壁纸!那就让我们来试试吧,说明书此页的网址连接--中文版||日文版 Android开发所必需 ...
- 【Android】用Cubism 2制作自己的Live2D——android sdk样本的下载与Android studio编译!...
前言- 在浏览Live2d说明书的时候我无意中发现了一个有趣的东西,就是android sdk中居然自带动态壁纸!那就让我们来试试吧,说明书此页的网址连接--中文版||日文版 Android开发所必需 ...
- python sdklive2d_用Cubism 2制作自己的Live2D(尝试向)——android sdk样本的下载与Android studio编译!...
前言- 在浏览Live2d说明书的时候我无意中发现了一个有趣的东西,就是android sdk中居然自带动态壁纸!那就让我们来试试吧,说明书此页的网址连接--中文版||日文版 Android开发所必需 ...
最新文章
- XP新建管理员账户后administrator消失或者不能登录的解决方法!
- ubuntu 安装ndk
- Data Guard出现gap sequence修复
- Redis 单例、主从模式、sentinel 以及集群的配置方式及优缺点对比(转)
- 【操作系统】内存的分页管理与分段管理の异同
- 视频会议十大开源编解码项目排行
- 详解Java中的正则表达式
- bash: !: event not found
- urlrewrite 规则报错
- 移动100m宽带慢的要死_为什么同样是100M的宽带, 中国移动就是比中国电信卡慢...
- 计算机会不会取代人类英语作文,人类不能被机器人取代英语作文
- 外贸小公司如何做谷歌SEO优化
- 利用专业所学知识获得人生“第一桶金”之路
- [转] prove, verify, bear out, demonstrate, confirm, validate, testify, certify 的区别
- Linux 文件格式转码工具
- 网店工商信息图片文字提取
- Xshell的Sessions存放目录
- 解决centos 个别命令command not found 每次打开虚拟机都要sourc .bashrc
- linux live cd下载地址,Finnix 120 发布下载,基于Debian的Linux Live CD
- scala中apply和unapply方法