摘要: 五、measure过程分析 这三个绘制流程中,measure是最复杂的,这里会花较长的篇幅来分析它。本节会先介绍整个流程中很重要的两个类MeasureSpec和ViewGroup.LayoutParams类,然后介绍ViewRootImpl、View及ViewGroup中测量流程涉及到的重要方法,最阅读全文
posted @ 2019-05-19 12:08 宋者为王 阅读(38) 评论(0) 编辑
摘要: 如果要更好地完成自定义View,就有必要深入了解Android视图的绘制流程了,本文将结合系统源码来对绘制流程进行剖析。 一、绘制的三个流程 我们知道,在自定义View的时候一般需要重写父类的onMeasure()、onLayout()、onDraw()三个方法,来完成视图的展示过程。当然,这三个暴阅读全文
posted @ 2019-05-18 10:30 宋者为王 阅读(26) 评论(1) 编辑
摘要: Android性能优化无疑是Android中的一个重点,也是一个难点。之所以说是重点,是因为在面试中,面试官对性能相关的问题是乐此不疲;在工作中,越是大厂,代码产生的性能问题越是苛刻。之所以说是难点,是因为工作中性能优化的任务往往都是由经验比较丰富的工程师或者架构师来担任的,而且Android性能方面的问题比较广,经常让初学者晕头转向。Android官网中对性能问题专门开辟了不小的篇幅来介绍,本文翻译了官网中的该系列文章,希望读者能够通过官网,登堂入室,尽早成为性能优化方面的行家里手。阅读全文
posted @ 2019-05-07 08:33 宋者为王 阅读(182) 评论(2) 编辑
摘要: 性能优化是一个难点,也是一个重点。在面试时是一个经常遇到的考点,在平时工作中,也是考验一个程序员内功的地方。我们平时的一些编码习惯中包含了很多性能问题,但咱们往往容易忽略。本文中提供了一些良好的编码实践要点,来帮助开发者提高代码效率,从而提高应用性能。阅读全文
posted @ 2019-05-06 14:53 宋者为王 阅读(381) 评论(0) 编辑
摘要: 在世界上,编写可以通过每一个性能测试的代码是有可能的,但是仍然感觉在某些时间段内显著缓慢、挂起或者冻住,或者花费太长的时间来处理输入事件。对于响应用户,最糟糕的事情是“应用未响应”(ANR)对话框。本文件将介绍ANR的产生原因,如何避免ANR,以及如何让应用保持响应的一些方法。阅读全文
posted @ 2019-05-01 13:54 宋者为王 阅读(191) 评论(0) 编辑
摘要: 即便您的应用是快速而且响应的,但是某些设计决策仍然可能给用户带来问题——因为和其它应用或对话框的非计划内的交互,无意的数据丢失,不期的阻塞等。为了避免这些问题,您应该努力开发一款与系统和其它应用无缝交互的应用。本文将讨论常见的无缝性问题以及如何避免它们。阅读全文
posted @ 2019-04-30 17:45 宋者为王 阅读(189) 评论(0) 编辑
摘要: X强实业股份有限公司 部门解散 同事讨薪 开始喊得最带劲的最先妥协 吃亏的最后一个 人性丑陋阅读全文
posted @ 2019-04-29 09:00 宋者为王 阅读(22) 评论(0) 编辑
摘要: JDK提供了两个方法,System.currentTimeMillis()和System.nanoTime(),这两个方法都可以用来获取表征当前时间的数值。但是如果不仔细辨别这两个方法的差别和联系,在使用当中也很容易栽跟头。笔者在前不久的工作当中使用System.currentTimeMillis()时就踩了一个大坑,后来在查明这两者的特性后,才用System.nanoTime()来填了这个坑。本文,笔者就以自己的踩坑和填坑经历来介绍一下这两个方法。阅读全文
posted @ 2019-04-28 15:02 宋者为王 阅读(256) 评论(2) 编辑
摘要: 只有注册用户登录后才能阅读该文。阅读全文
posted @ 2019-04-26 12:45 宋者为王 阅读(47) 评论(0) 编辑
摘要: 由于在Android设备中内存是比较稀有的,如果内存使用不当会严重影响用户体验。垃圾收集,共享内存,分配和回收应用内存,切换应用等都等情形下内存的行为,都是需要开发者们需要关注的。本文会从整体上阐述对于Android的内存,咱们需要了解哪些要点。阅读全文
posted @ 2019-04-23 14:20 宋者为王 阅读(277) 评论(0) 编辑