原链接:http://news.cnblogs.com/n/534626/

Android 开发者选项,看起来很简单的事情,其实很多同学对它了解得不够,Google 用心良苦得为我们设计了这么多小开关都是有它的作用的,今天也花了点时间,过了一遍全部的 30 多个开关,从中整理出 15 个对日常 Android 开发比较有帮助的选项。

  需要指出的是,不同的 ROM 对开发者选项的支持不一样,精简掉一些很正常,我下面提到的都是官方支持的功能,当然不同的官方版本支持程度也不一样,你手机上找不到也别奇怪。

  抱歉这里不介绍开发者选项在哪怎么开启之类的问题。

  1. Stay awake

  充电时保持屏幕唤醒,开发的时候,时不时的锁屏真是够了,开启它后只要插着 USB 线就不需要总去解锁屏幕啦。

  2. Select runtime(Dalvik or ART)

  ART runtime 下你的应用会更加丝滑,目前高版本的 Android 上已经直接是 ART runtime 了,但作为 Android 开发也许需要保证你的应用在两种 runtime 下都能正常运行,这可能是测试时需要更多考虑的。

  3. Process stats

  里面有关于当前运行进程的一切信息,对于一般用户,它就是一堆无意义的数字,对于 Android 开发人员来说,调试时这些信息也许可以帮你大忙。

  4. USB debugging

  这个无需介绍,不开它怎么调试呢?(虽然现在都流行无线调试了)

  5. Allow mock locations

  当你的应用需要用到 GPS 功能,获取位置信息时(比如天气应用),可以通过它搭配一些位置模拟应用,模拟全球任何地点。(还能干什么?机智的你肯定想到啦)

  6. Show surface updates

  在界面绘制时,闪烁提醒,开启它后简直能闪瞎你的眼睛,但有时候我们需要精确知道具体的界面绘制细节时,不得不需要忍受这种折磨。

  7. Show layout bounds

  显示布局格子,当你看到一个应用有很棒的界面效果,想知道它是怎么布局的?开启这个功能即可。我更常用的使用场景是:每当有 PM 过来问我人家这个界面是 Native 实现的,还是类似 Hybrid 方案的 Web 实现时,我就让他开启这个功能,WebView 是一个整体的格子,Native View 是各种小格子组合而成。(除非自己重绘实现自定义 View, 一般复杂布局也不会这么干)

  8. Force RTL layout direction

  强制 RTL 布局,RTL 也就是 Right To Left,阿拉伯国家一般有这种文化,类似古时候的中国,文字从右往左读,包括界面布局也是从右往左的,感觉操作习惯都跟我们是镜像的,如果你跟我一样不幸需要做这种坑爹适配的话,这也是必须掌握的技能。

  9. Animation scale

  动画的尺度、速度调整也是很有用的功能,尤其在实现复杂的组合动画效果时,调慢点可以看得更清楚,当然你可以在自己代码里调慢,但每次改代码重新 build 很麻烦对不对?而且如果是 PM 走过来让你研究一下某款 App 的酷炫动画效果呢?

  10. Simulate secondary displays

  它允许你模拟不同屏幕尺寸下应用的表现,IDE 里虽然也有类似的功能,可那毕竟只是个静态的效果。

  11. Debug GPU overdraw

  这里是指不正确的过度绘制:

  • 原色: 没有过度绘制

  • 蓝色: 一次过度绘制

  • 绿色: 两次过度绘制

  • 粉色: 三次过度绘制

  • 红色: 四次及以上过度绘制

  值得提醒的是,过度绘制有时是无法避免的,Android 建议是不要超过一次过度绘制,也就是可以是蓝色的,不能绿了。

  12. Strict mode enabled

  严苛模式下,当应用做了一些影响性能的事情,屏幕会闪一下提醒你。你也可以在代码里为自己的应用开启严苛模式,一旦发现一些性能问题,就会有详细 Log 输出, 为避免影响线上用户,建议只在 Debug 模式下开启。

  13. Show CPU usage

  在你屏幕右上角显示一个小窗口,提示当前 CPU 的各种信息,在性能调试时会有一些帮助,看是否是 CPU 的负载过高导致了性能问题。

  14. Profile GPU rendering

  看下面这张图,就明白它的作用了,开启后,会在下方显示一张实时绘制图,记住那条绿线是性能流畅与否的底线,超过的时刻就会出现掉帧,就会有卡顿的感觉,界面性能调优的一个最重要指标就是将所有界面操作尽量优化到那条绿线以下。具体的原理可以看胡凯同学的 Android 性能优化典范,我的公众号里也收录了他这篇经典文章。

  15. Don't keep activities

  开启这个选项后,当你从 Activity A 跳转到 Activity B 时,Activity A 就会被立即销毁,这一般用来模拟设备内存不足时后台 Activity 被销毁的场景,如果你的应用能做到开启它时功能仍基本正常,说明代码设计得比较合理,不同 Activity 之间的耦和很低,对于复杂业务的应用来说,能做到这点真心不容易。


更多相关文章

  1. Android(安卓)UI性能优化—过度绘制篇
  2. Android(安卓)OpenGLES2.0(五)——绘制立方体
  3. View那些事儿(1) -- View绘制的整体流程
  4. Android(安卓)首字母索引
  5. android在service中播放音乐
  6. Chromium on Android: 理解Chromium WebView的绘制模型
  7. 用剪纸类比Android(安卓)View的绘制流程
  8. Android[学习] UI优化方案
  9. Android开发的硬件加速

随机推荐

  1. [Android] Json格式解析和文字图片传输
  2. Android开机流程
  3. (zz)android HAL实例解析
  4. android正则并不完全兼容java正则
  5. Android开发框架模式MVC、MVP使用总结
  6. 模拟android 的 图形 锁屏
  7. Android 网络操作常用的两个类
  8. Android捕获全局异常
  9. android微信分享、微信支付的一些坑
  10. Eclipse中使用Ant打Android包报错及解决