好了,我又来更新玩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^)┛明天见!