Android应用程序优化注意事项

我们在开发过程中,如果不注意性能的优化,代码的优化等等,可能会导致应用程序的卡顿和效率极慢,所以开发过程中,注意细节,注意代码的编写和变量,常量的使用,可以提高我们软件的速度和效率。不知道大家在开发过程中注意过这些细节吗?其实我相信如果ListView如果不使用复用的话,在滑动列表时是非常卡顿的,大家肯定能够注意到这个问题。所以开发要注意细节。当然,有时候万恶的PM,催得紧,就没办法了,为了速度去牺牲细节和效率是常有的事。

现在我们就来罗列一下,我们在开发过程中,要注意的细节。接下来,我们来看看有哪些吧?

1.代码的优化

  • 少用浮点运算、文件、pipe、数据库访问
  • 用高效的方式:StringBuffer代替大量临时String,SoundPool代替多个MediaPlayer,texture代替canvas, Log.d() 代替System.out.print(),避免invalidate()
  • 重视onMeasure/onLayout/onDraw/onTouchEvent/getView等函数的效率

2.调整程序的进程结构

  • 减少进程数量(善用ViewStub、ViewSwitch等)
  • 减少进程周期循环次数,及时让进程休眠
  • 不编写长寿代码,只在需要时运行,服务应快速完成并立即结束

3.界面设计及相关优化

  • 避免复杂布局。控制嵌套和View数量,善用Merge、inflate()、RelativeLayout等
  • 去除不必要的背景、动画
  • 执行长时间、耗电的任务之前检查电量、提示用户

4.调整算法,取消无用环节,减少对CPU内存需求

  • 减少函数调用次数
  • 适当使用JNI

5.游戏开发注意事项

  • 少用new()/enum/Iterator/HashMap/Arrays.sort()/Class.getXXX()…
  • 多用private、final、局部变量,
  • 2D善用draw_texture、3D善用VBO顶点缓冲
  • 触屏事件时,暂停接受运动感应事件
  • 用NDK实现关键代码

原文发布于微信公众号 - 非著名程序员(non-famous-coder)

原文发表时间:2015-08-15

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏MelonTeam专栏

《实现模式》读书总结

导语 这是一本关于如何写好代码的书,是一本关于“如何编写别人能看懂的代码”的书。从价值观、原则、模式三个层面解读如何优化代码结构,减少代码维护成本。 ...

33180
来自专栏性能与架构

条件语句小技巧

“高性能javascript” 这本书中提到了一个“查找表”的概念,建议在有大量离散值要测试时,if-else 和 switch 都比使用查找表慢很多,依据是运...

28570
来自专栏Python攻城狮

爬取拉勾网招聘信息并使用xlwt存入Excel

通过浏览器自带的开发者工具查看是通过Post方式提交的,数据是通过Ajax(异步加载)得到的

9340
来自专栏淡定的专栏

《实现模式》读书总结

导语 这是一本关于如何写好代码的书,是一本关于“如何编写别人能看懂的代码”的书。从价值观、原则、模式三个层面解读如何优化代码结构,减少代码维护成本。 关于这本书...

20480
来自专栏ThoughtWorks

在项目中透明地引入特性开关

之前曾经推荐过崔立强的《使用功能开关更好地实现持续部署》,介绍Feature Toggle的实践。北京办公室的孟宇现在对这个问题有了新的思考,当我们抛却Spri...

43160
来自专栏玩转全栈

flutter全局数据共享通知方案

让我们先抛开Flutter这个平台说话,如果让你实现数据共享,你能想到的基础方案有哪些。

3.1K180
来自专栏蓝天

代码规范:换行对齐问题

对一于单行代码过长时,采取换行,这个没有什么可争议的,主要焦点在新的一行从哪开始,通常有两派,一派就是如上述两段代码所示,另一派则采用如下规范:

8720
来自专栏大数据挖掘DT机器学习

并行爬虫和数据清洗工具(开源)

etlpy是python编写的网页数据抓取和清洗工具,核心文件etl.py不超过500行,具备如下特点 爬虫和清洗逻辑基于xml定义,不需手工编写 基于pyth...

48940
来自专栏海说

深入理解计算机系统(3.1)---走进汇编的世界

本文转载地址:http://www.cnblogs.com/zuoxiaolong/p/computer13.html

10630
来自专栏云飞学编程

跟我学爬虫,看大神不到30行代码做的一个简单爬虫!

已经看了那么多基础知识了,下面我们做几个实战项目来挑战一下吧。这次为大家带来,Python爬取校花网美女图片的例子。

31320

扫码关注云+社区

领取腾讯云代金券