安卓开发中,基础的优化点,通常包括以下几个方面:

一、代码结构部分的优化

二、图片的优化

三、布局的优化

四、网络请求相关的优化

五、电量优化

一、代码部分的优化

首先,在我们编写的过程中,基本的代码规范,是要遵守的,这样做的目的,不仅仅是为了自己查阅代码时的方便,更重要的是可以规避一些莫名奇妙的错误。

从接口获取数据后,应该根据业务需求,选用最合理的存储方式,在满足业务需求的情况下,要使用最高性能的数据存储方式

应该避免反复创建新的对象,新的对象的创建,在空间和时间上都是不划算的,满足业务需求的情况下,能复用的尽量复用,当然,这是在一般情况下,特殊情况特殊处理

基本数据类型和 String类型的常量,建议使用static final修饰,final类型的常量会进入静态dex文件的域初始化部分,这时对基本和String类型的常量的调用不会涉及类的初始化,而是直接调用。

在类的内部使用自身的属性时,应避免使用get和set,直接调用即可,可以 提高访问速度

另外,要注意handler和context引起的内从泄漏问题

二、图片优化

在既保证图片质量又要限制图片大小的情况下,WebP格式的图片是首选,具体WebP的优点,可以自行查阅资料

对图片进行压缩,也是图片优化的手段之一,压缩可以是在代码级别的压缩,也可以是图片先用第三方工具压缩后再放入项目中使用

图片的优化重点是使用合理的使用缓存,这个是需要根据业务需求量身定制

三、布局优化

合理使用include来进行 布局的复用

使用ViewStub来实现布局的条件显示,如果不使用viewstub,视图即使被隐藏,依然还是会占用系统资源,使用后,布局可以在需要时才进行填充

充分利用Lint工具进行代码检查,lint的一些规则是用来优化布局的

四、网络请求的优化

合理使用预先下载数据,比如,我们做一个闪屏广告页,可以利用wifi网络时,预先下载好广告视频,下次进入闪屏页时播放该视频

一个页面避免请求多个接口,尽量合并为一次请求

合理利用缓存,合理的利用缓存是网络请求优化最重要的方面,包括内存和外存的缓存

根据不同的网络环境,设置不同的超时请求策略

五、电量优化

不必要的广播接收者,在用户退到后台后,应取消接收广播

定位方面,合理制定位置更新频率,当应用退到后台后,根据业务需求,尽量及时注销位置监听

android系统优化方向,Android开发的优化方向相关推荐

  1. 软件工程专业(互联网应用开发与优化方向)软件工程实践二环节教学大纲

    软件工程专业(互联网应用开发与优化方向)软件工程实践二环节教学大纲 培训课程 Phthon Web开发 实训公司 XXX 总周数 3周

  2. Android二维码原理与优化方向

    困惑 做过Android的二维码扫描的童鞋可能会遇到过,很多二维码识别不了,或者识别速度慢.一般造成这个识别不出来的原因,大概以下几点: Android手机配置不一样,手机像素高低也有不同,有的手机还 ...

  3. android系统优化(18)--系统性能优化第5季

    1)Threading Performance 在程序开发的实践当中,为了让程序表现得更加流畅,我们肯定会需要使用到多线程来提升程序的并发执行性能.但是编写多线程并发的代码一直以来都是一个相对棘手的问 ...

  4. android系统优化(19)--系统性能优化第6季

    1)App Launch time 101 提高程序的启动速度意义重大,很显然,启动时间越短,用户才越有耐心等待打开这个APP进行使用,反之启动时间越长,用户则越有可能来不及等到APP打开就已经切换到 ...

  5. 数据库开发技术java方向_Java开发工程师(Web方向) - 03.数据库开发 - 第5章.MyBatis...

    第5章--MyBatis MyBatis入门 Abstract: 数据库框架的工作原理和使用方法(以MyBatis为例) 面向对象的世界与关系型数据库的鸿沟: 面向对象世界中的数据是对象: 关系型数据 ...

  6. 未来 Android 开发的从业方向

    今天在知乎收到了这样一个问题,我觉得这是一个很不错的疑虑,这个问题相信很多人都考虑过,但是除了在大厂的 "螺丝钉"(褒义) 岗位有机会在工作上深入某个方向之外,很多时候中小型团队, ...

  7. 【Android 进程保活】oom_adj 值 ( oom_adj 值对应的进程优先级 | oom_adj 值动态改变 | 进程保活优化方向 )

    文章目录 一.oom_adj 值对应的进程优先级 二.oom_adj 值动态改变 1.正常运行时的 oom_adj 值 2.按下 Home 键后的 oom_adj 值 3.按下回退键后的 oom_ad ...

  8. android拍照保存照片方向,Android:Camera2开发详解(上):实现预览、拍照、保存照片等功能...

    android.jpg 前言 在前几篇文章中介绍了如何调用系统相机拍照和使用Camera1的实现自定义相机拍照.人脸检测等功能 文章传送门: 接下来的几篇文章中,我将给大家介绍如何使用Camera2实 ...

  9. android 悬浮窗口禁止横屏显示,悬浮窗强制设置屏幕方向|App开发交流区|研发交流|雨滴科技技术论坛 - Powered by Discuz!...

    最近在做平板上的一个程序,需要配合中通的app来控制扫描与分拣机的转动.然后中通的程序在平板上运行有一个问题, 就是app里设置了强制竖屏,不能跟随系统旋转应用屏幕方向,然后把系统里的屏幕方向写死,虽 ...

最新文章

  1. 计算机学院杨洋,美国莱特州立大学吴志强教授访问计算机科学与技术学院
  2. Redis的数据类型之String
  3. 关于JavaFX的最常见问题
  4. 《软件测试技术大全:测试基础 流行工具 项目实战(第3版)》—第1章1.2节软件测试的发展...
  5. 多线程下的资源同步访问
  6. php下载地址转换工具,php把url转换迅雷thunder资源下载地址的简单示例
  7. 一种基于复制粘贴的cam350邮票孔拼版教程(二)导出gerber
  8. NetBIOS、NETBEUI、IPX/SPX
  9. JS实现文件的上传与下载
  10. Mybatis使用order by语句
  11. jquery图片3D旋绕效果 rotate3Di的操作
  12. 巴西柔术第一课:骑乘式上位技术
  13. 【高新技术企业】高企申报材料以及要求
  14. switch...case语句
  15. 使用软碟通(UltraISO)刻录Linux系统
  16. Python爬虫入门实战2:获取CSDN个人博客文章基础信息
  17. Chrome的在线自动字幕辅助工具
  18. 女博士拒绝腾讯70万年薪,去211当讲师,晒出年收入网友:羡慕
  19. ORB-SLAM2的源码阅读(十一):LoopClosing类
  20. 电子计算机的基本结构基于存储程序思想是由,计算机应用基础复习题

热门文章

  1. Kinect开发(如何连接电脑)
  2. Kmeans聚类分析
  3. 47道计算机网络面试题,个人珍藏的80道多线程并发面试题(11-20答案解析)
  4. 源码分析学习记录(11)——半边结构
  5. Nginx源码完全注释(1)ngx_alloc.h / ngx_alloc.c
  6. 编写程序计算圆的面积和周长
  7. GTC 2020:开发者谈NS版《巫师3》移植
  8. ASP.NET CORE的服务注册方法
  9. 获取微信小程序页面路径【保姆级教程】
  10. C语言 日历查询系统 成品