好了,我又来更新玩Android问答了。
最近发现各个平台的新博客有异常的少,玩Android访问量也处于一个较低的状态,说明这个特殊时期,大家相对时间较多,但是多数并没有在学习哟,其实这个时期是学习的好机会,下半年的竞争一定很激烈,不妨提升下自己的技能。
好了,照旧来几个问答,多数问题,可能是对你有帮助的。
我就不把答案直接贴出来了,我会在每道题下附上一个二维码,可以扫码查看别人的回答。
但是在回答前,还是建议先自己简单思考下。
PS:PC 阅读体验更好一些。
上一期:
跟着玩 Android 起飞!
1. “别慌,你 post 一个 Runnable ,在下一帧就可以拿到了。”这种说法对吗?
经常我们在开发过程中,遇到 UI 滚动失效,宽高获取不到等,有经验的程序员可能会指导你说:
你 post 一个 Runnable,在“下一帧”就可以拿到了。
很多我们我们一试,果然可以,崇拜之情涌上心头。
那么今天我们要问
handler. postRunnable 和 “下一帧”的说法有关系吗?
如果你在一个方法中,for 循环 handler.post 多个 Runnable,如果有问题1 中帧的说法,那么这些 Runnable 执行应该有个固定的间隔,你可以实测一下,有这样一个间隔吗?如果没有,为什么? https://www.wanandroid.com/wenda/show/11506
2. 每日一问 ViewPager 嵌套,“老子”怎么就没拦住你?
考虑一个场景 ViewPager 嵌套 ViewPager,不做任何处理的情况下,正常滑动非边界区域,默认会滑动内层 ViewPager。
那么问题来了,讲道理事件分发会先走「外层 ViewPager」 的 onInterceptTouchEvent,内外都是 ViewPager,代码都一样。
为什么事件没有被「外层 ViewPager」拦截掉,反而交给了「内层 ViewPager」呢?
https://www.wanandroid.com/wenda/show/11159
3. 每日一问 这么多R.java 有卵用呀?
现在一个稍微大点的项目都几十个module,然后各种分层,下面我要举个例子:
A模块:com.zhy.A; B模块:com.zhy.B;
A 依赖 B。
现在B里面有多个资源,那么在B中可以通过:
com.zhy.B.R.资源种类.资源名称访问。
其实B中的资源,在A中也能通过:
com.zhy.A.R.资源种类.资源名称访问。
那么一个资源,其实就在两个module中都存在id常量值。
一个非常大的项目,存在几十个模块,那么一个资源id 最终会被重复定义几十次,务必会造成apk体积增加。
那么问题是:
为什么模块依赖的情况下,资源id需要重复定义?讲道理你也可以直接访问依赖module里面的R类进行访问呀。
如果确实造成包体积增加,可以去掉重复的,来缩小包体积吗?怎么做?
https://wanandroid.com/wenda/show/9974
要是没看够,可以看看上期的问题:
跟着玩 Android 起飞!
下期见。
为了让你们学习,我也是操碎了心,如果遇到二维码打不开什么的,稍安勿躁,可能你们已经把服务器干崩了,自行思考下这些问题吧,稍等流量下来可以自己去网站查看哈。
推荐阅读: 一篇技术文的产生! 唠点儿你不一定知道的Android小知识 给大家推荐一个库
扫一扫 关注我的公众号 如果你想要跟大家分享你的文章,欢迎投稿~
┏(^0^)┛明天见!