15 个必知的 Android 开发者选项
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之间的耦和很低,对于复杂业务的应用来说,能做到这点真心不容易。
文章转载自 开源中国社区[https://www.oschina.net]
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
XXL-HEX v1.2.0,面向对象的 WebAPI 框架
版本1.2.0新特性 1、Client端,新增Javascript版本实现:前端JS可使用提供的Client,直接调用XXL-HEX的加密API接口; (示例文件见 "xxl-hex/xxl-hex-example/src/main/webapp/jsclient.html",启动 "xxl-hex-example" 项目访问即可); 2、Server端,新增明文模式:如果系统不需要Hex加密特性,可选择明文数据传输方案; 《面向对象的WebAPI框架XXL-HEX》一、简介 1.1 概述 XXL-HEX 是一个简单易用的WebAPI框架, 拥有 "面向对象、数据加密、跨语言" 的特点。目标是: 提高Web API (如 Android、IOS 等APP接口, 或者 unity3d 等游戏服务端接口) 的开发体验以及开发效率。现已开放源代码,开箱即用。 1.2 特性 1、面向对象: 一个API接口对应 "一个Handler" 和 "Requset对象/Response对象"; 针对Web API开发 (如 Android、IOS 等APP接口开发, 或者 unity3d 等游戏接口开发...
- 下一篇
Apple 开源新的压缩算法 LZFSE
苹果开源了新的无损压缩算法LZFSE,该算法是去年在iOS 9和OS X 10.10中引入的。按照苹果公司的说法,LZFE的压缩增益和ZLib level 5相同,但速度要快2~3倍,能源效率也更高。 LZFSE基于Lempel-Ziv ,并使用了有限状态熵编码,后者基于Jarek Duda在非对称数字系统(ANS)方面所做的熵编码工作。简单地讲,ANS旨在“终结速度和比率的平衡”,既可以用于精确编码,又可以用于快速编码,并且具有数据加密功能。使用ANS代替更为传统的Huffman和算术编码方法的压缩库越来越多,LZFSE就位列其中。 显然,LZFSE的目标不是成为最好或最快的算法。事实上,苹果公司指出,LZ4的压缩速度比LZFSE快,而LZMA提供了更高的压缩率,但代价是比Apple SDK提供的其他选项要慢一个数量级。当压缩率和速度几乎同等重要,而你又希望降低能源效率时,LZFSE是苹果推荐的选项。 GitHub上提供了LZFSE的参考实现。在MacOS上构建和运行一样简单: $ xcodebuild install DSTROOT=/tmp/lzfse.dst 如果希望针对当前的...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS8编译安装MySQL8.0.19
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS关闭SELinux安全模块
- Hadoop3单机部署,实现最简伪集群
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- SpringBoot2全家桶,快速入门学习开发网站教程
- SpringBoot2更换Tomcat为Jetty,小型站点的福音