2017 已来,最全面试总结——这些 Android 面试题你一定需要

DYGAudrea 8年前
   <h2>前言</h2>    <p>来年发完年终奖。也许有不少Android程序员开始摩拳擦掌蠢蠢欲动了。结合以往自己的经历,今天给大家总结下Android面试题,希望有帮助。</p>    <h3>01 Activity生命周期?</h3>    <p>这几乎是个老少咸宜,永远不会过时的问题,而且极有可能是第一个问题。这个问题当然没什么好讲的啦,死记硬背是没什么用的了,关键是理解。本人就曾遇到这个问题的变种问题,问onStart(),与onResume()有什么区别?如果面试官抛出这个问题,是不是有点措手不及。今天又听说有同学遭遇了更变态的问题:什么情况下Activity走了onCreat(),而不走onStart(),这简直就是脑筋急转弯嘛。</p>    <h3>02 Service生命周期?</h3>    <p>这里要注意service有两种启动方式,startService()和bindService()</p>    <p style="text-align:center"><img src="https://simg.open-open.com/show/c9697667fb7a56b69e672a5da164e738.jpg"></p>    <h3>03 理解Activity,View,Window三者关系</h3>    <p>这个问题真的很不好回答。所以这里先来个算是比较恰当的比喻来形容下它们的关系吧。Activity像一个工匠(控制单元),Window像窗户(承载模型),View像窗花(显示视图)LayoutInflater像剪刀,Xml配置像窗花图纸。</p>    <p>1:Activity构造的时候会初始化一个Window,准确的说是PhoneWindow。</p>    <p>2:这个PhoneWindow有一个“ViewRoot”,这个“ViewRoot”是一个View或者说ViewGroup,是最初始的根视图。</p>    <p>3:“ViewRoot”通过addView方法来一个个的添加View。比如TextView,Button等</p>    <p>4:这些View的事件监听,是由WindowManagerService来接受消息,并且回调Activity函数。比如onClickListener,onKeyDown等。</p>    <h3>04 四种LaunchMode及其使用场景</h3>    <p>standard 模式</p>    <p>这是默认模式,每次激活Activity时都会创建Activity实例,并放入任务栈中。使用场景:大多数Activity。</p>    <p>singleTop 模式</p>    <p>如果在任务的栈顶正好存在该Activity的实例,就重用该实例( 会调用实例的 onNewIntent() ),否则就会创建新的实例并放入栈顶,即使栈中已经存在该Activity的实例,只要不在栈顶,都会创建新的实例。使用场景如新闻类或者阅读类App的内容页面。</p>    <p>singleTask 模式</p>    <p>如果在栈中已经有该Activity的实例,就重用该实例(会调用实例的 onNewIntent() )。重用时,会让该实例回到栈顶,因此在它上面的实例将会被移出栈。如果栈中不存在该实例,将会创建新的实例放入栈中。使用场景如浏览器的主界面。不管从多少个应用启动浏览器,只会启动主界面一次,其余情况都会走onNewIntent,并且会清空主界面上面的其他页面。</p>    <p>singleInstance 模式</p>    <p>在一个新栈中创建该Activity的实例,并让多个应用共享该栈中的该Activity实例。一旦该模式的Activity实例已经存在于某个栈中,任何应用再激活该Activity时都会重用该栈中的实例( 会调用实例的 onNewIntent() )。其效果相当于多个应用共享一个应用,不管谁激活该 Activity 都会进入同一个应用中。使用场景如闹铃提醒,将闹铃提醒与闹铃设置分离。singleInstance不要用于中间页面,如果用于中间页面,跳转会有问题,比如:A -> B (singleInstance) -> C,完全退出后,在此启动,首先打开的是B。</p>    <h3>05 View的绘制流程</h3>    <p>measure过程</p>    <p>layout过程</p>    <p>draw过程</p>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=2649547668&idx=1&sn=b2667c46188c6674c90aa72c2fba4719&scene=21#wechat_redirect">从此再有不愁自定义View——Android自定义view详解</a></p>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=401462221&idx=1&sn=dda1f3500c993d643dcdae6dd2cc3d6f&scene=21#wechat_redirect">android View绘制源码分析(上)</a></p>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=401462221&idx=2&sn=12a84ecaf39e021eb10bd81cb00659af&scene=21#wechat_redirect">android View绘制源码分析(下)</a></p>    <h3>06 Touch事件传递机制</h3>    <pre>  <code class="language-java">public boolean dispatchTouchEvent(MotionEventev);    //用来分派event  public boolean onInterceptTouchEvent(MotionEventev);  //用来拦截event  public boolean onTouchEvent(MotionEventev);  //用来处理event  </code></pre>    <p>其中Activity和View控件(TextView)拥有分派和处理事件方法,View容器(LinearLayout)具有分派,拦截,处理事件方法。这里也有个比喻:领导都会把任务向下分派,一旦下面的人把事情做不好,就不会再把后续的任务交给下面的人来做了,只能自己亲自做,如果自己也做不了,就只能告诉上级不能完成任务,上级又会重复他的过程。另外,领导都有权利拦截任务,对下级隐瞒该任务,而直接自己去做,如果做不成,也只能向上级报告不能完成任务。</p>    <h3>07 Android中的几种动画</h3>    <p>曾被问到Android中有几种动画,这个问题也好难回答。Android3.0之前有2种,3.0后有3种。</p>    <p>FrameAnimation(逐帧动画):将多张图片组合起来进行播放,类似于早期电影的工作原理,很多App的loading是采用这种方式。</p>    <p>TweenAnimation(补间动画):是对某个View进行一系列的动画的操作,包括淡入淡出(Alpha),缩放(Scale),平移(Translate),旋转(Rotate)四种模式。</p>    <p>PropertyAnimation(属性动画):属性动画不再仅仅是一种视觉效果了,而是一种不断地对值进行操作的机制,并将值赋到指定对象的指定属性上,可以是任意对象的任意属性。</p>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=401593214&idx=1&sn=fcee52572b4e7b248eae3225440c2995&scene=21#wechat_redirect"><strong>Android 动画,看完这些就够了(上)</strong></a></p>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=401593214&idx=2&sn=0d3205a9c172f3d9e6483c8cfefb6397&scene=21#wechat_redirect"><strong>Android 动画,看完这些就够了(下)</strong></a></p>    <h3>08 Android中跨进程通讯的几种方式</h3>    <p>1:访问其他应用程序的Activity</p>    <p>如调用系统通话应用</p>    <p>Intent callIntent=new Intent(Intent.ACTION_CALL,Uri.parse("tel:12345678");</p>    <p>startActivity(callIntent);</p>    <p>2:Content Provider</p>    <p>如访问系统相册</p>    <p>3:广播(Broadcast)</p>    <p>如显示系统时间</p>    <p>4:AIDL服务</p>    <h3>09 AIDL理解</h3>    <p>http://bbs.51cto.com/thread-1086040-1.html</p>    <h3>10 Handler的原理</h3>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=401611665&idx=1&sn=9b6b1f2924d4adfe4e89a322ab53df9c&scene=21#wechat_redirect" rel="nofollow,noindex"><strong>IntentService——Handler与Service的结合</strong> </a></p>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=401555104&idx=1&sn=501e6158e6eb26b4e86467be01fd290e&scene=21#wechat_redirect" rel="nofollow,noindex"><strong>Android 开发中利用异步来优化运行速度和性能</strong> </a></p>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=401548278&idx=1&sn=573d1cdf31a57db293b2b108e8d5c88b&scene=21#wechat_redirect" rel="nofollow,noindex"><strong>深入理解ThreadLocal(一)</strong> </a></p>    <p>http://blog.csdn.net/lmj623565791/article/details/38377229</p>    <h3>11 Binder机制原理</h3>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=2649548116&idx=1&sn=d11a131871623110c74e3676d4fcf785&chksm=f1180e29c66f873f9cac5dc104f97fae319c1831219a9fd9458a4429f16562f6712cc7f65a4c&scene=21#wechat_redirect" rel="nofollow,noindex"><strong>为什么 Android 要采用 Binder 作为 IPC 机制?</strong> </a></p>    <p>http://blog.csdn.net/boyupeng/article/details/47011383</p>    <h3>12 热修复的原理</h3>    <p>1:JavaSisst</p>    <p>2:AspectJ</p>    <p>3:Xposef</p>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=2649548089&idx=1&sn=939f45217087f332f945a703c658bbe1&chksm=f1180e44c66f8752b54ff55e2f8994eec97fcca8e30c9f5a10e3503dcc029483fd630d22dd4e&scene=21#wechat_redirect" rel="nofollow,noindex">阿里Android热修复技术选型——三大流派解析</a></p>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=2649548396&idx=1&sn=15326664df7ae6873b84b0eeb7d46daf&chksm=f1180d11c66f84071e130e358db2a1ec0da62c86961f5eecdb413d188b79dc63b74f24e333af&scene=21#wechat_redirect" rel="nofollow,noindex">Android 热修复方案分析</a></p>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=2649548611&idx=1&sn=5177405573f3661e5c5ab350e70aa6de&chksm=f1180c3ec66f8528a73e633a778dd88b40b6ee3f9b2a589367b38408280a667c5e6554110322&scene=21#wechat_redirect" rel="nofollow,noindex">Android热更新:美团大众点评Android热更新方案Robust</a></p>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=2649547594&idx=1&sn=5428ab6ec18c21df37db7423e009418c&scene=21#wechat_redirect" rel="nofollow,noindex">Android插件化之使用AndFix进行Hot fix</a></p>    <h3>13 设计一套图片异步加载缓存方案</h3>    <p>http://www.cnblogs.com/zyw-205520/p/4997863.html</p>    <p>http://blog.csdn.net/boyupeng/article/details/47127605</p>    <h3>14 Android内存泄露及管理</h3>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=2649547478&idx=1&sn=fec54d62785a6f666ef9c49646871ba9&scene=21#wechat_redirect" rel="nofollow,noindex"><strong>Android内存泄漏研究</strong> </a></p>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=401667209&idx=2&sn=f1a085f8838e59de55927d71260ec83c&scene=21#wechat_redirect" rel="nofollow,noindex"><strong>Android 内存泄漏总结(下)</strong> </a></p>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=2649547511&idx=1&sn=8df658f8fc4d4fe7ddc6d11dbc4effb2&scene=21#wechat_redirect" rel="nofollow,noindex"><strong>Android内存性能优化(内部资料总结)</strong> </a></p>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=2649547284&idx=1&sn=78b6b1e07680ae9898ff65c5ca24f8db&scene=21#wechat_redirect" rel="nofollow,noindex"><strong>Android性能优化-内存泄露的检查与处理</strong> </a></p>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=401426609&idx=1&sn=5e5570bf88cd30fb4818d6cb26f119f8&scene=21#wechat_redirect" rel="nofollow,noindex"><strong>5个Android开发中比较常见的内存泄漏问题及解决办法</strong> </a></p>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=401717712&idx=1&sn=5027153551fed384e7b08c896c1a4434&scene=21#wechat_redirect" rel="nofollow,noindex"><strong>Android内存泄漏问题定位与解决实际案例</strong> </a></p>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=2649548387&idx=1&sn=8b826d2d29e688d813d010568ff99d63&chksm=f1180d1ec66f8408b1c7b5899b83767f0ec1c9641114e060d98524ee2ee5df31a43bfbe924bf&scene=21#wechat_redirect" rel="nofollow,noindex"><strong>【干货】Android内存泄漏分析实战和心得-面试常考点</strong> </a></p>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=2649548034&idx=1&sn=7aeeecc135c22163e577bd9536a6ed66&scene=21#wechat_redirect" rel="nofollow,noindex">再谈android内存泄漏—常见的八种导致 APP 内存泄漏的问题 </a></p>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=401489267&idx=1&sn=123c02bf33ce7ec61da359e319715efa&scene=21#wechat_redirect" rel="nofollow,noindex"><strong>最全最系统的 Android 界面性能调优资料</strong> </a></p>    <p>http://gold.xitu.io/entry/56d64b9e816dfa005943a55c</p>    <h3>15 Activity和Fragment通信</h3>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=2649547681&idx=1&sn=cf600ed5a92ce5fe100e8478ba0c55b4&scene=21#wechat_redirect" rel="nofollow,noindex">[干货]让你彻底搞懂Context到底是什么,如果没弄明白,还怎么做Android开发? </a></p>    <p>http://gold.xitu.io/entry/56a87b2b2e958a0051906227</p>    <h3>16 Fragment的那些坑</h3>    <p>http://www.jianshu.com/p/d9143a92ad94</p>    <p>http://www.jianshu.com/p/fd71d65f0ec6</p>    <p>http://www.jianshu.com/p/38f7994faa6b</p>    <h3>17 Android UI适配</h3>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=2649547397&idx=1&sn=ae2654a2e7ec74108305942c82ff7fe8&scene=21#wechat_redirect" rel="nofollow,noindex"><strong>Android UI布局问题总结</strong> </a></p>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=2649548366&idx=1&sn=6cbdf8652ec139859d9be01444e1ad3b&chksm=f1180d33c66f8425a286de4fd5f03aa89308add3593529a91356439cb8c2f8542305561034c8&scene=21#wechat_redirect" rel="nofollow,noindex"><strong>拥抱SVG:苦恼于图片适配 in Android?万能图片适配</strong> </a></p>    <p>http://blog.csdn.net/lmj623565791/article/details/45460089</p>    <h3>18 布局优化</h3>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=401265446&idx=1&sn=ce4d1eb4137cb07b385e0f3cc989da27&scene=21#wechat_redirect" rel="nofollow,noindex">Anroid性能优化系列——Improving Layout Performance(一) </a></p>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=401271647&idx=1&sn=2ce87939f40efcc59c1a6c233292304e&scene=21#wechat_redirect" rel="nofollow,noindex">Anroid性能优化系列——Improving Layout Performance(二) </a></p>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=401275734&idx=1&sn=79814fa79a15b774fd8b029eaa75ce71&scene=21#wechat_redirect" rel="nofollow,noindex">Anroid性能优化系列——Improving Layout Performance(三) </a></p>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=401809053&idx=1&sn=1c86efcd91074fe1a826f0213fdd58f6&scene=21#wechat_redirect" rel="nofollow,noindex"><strong>性能优化之布局优化</strong> </a></p>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=2649547388&idx=1&sn=3b2e4b8cdd7f113eb19825212f43a016&scene=21#wechat_redirect" rel="nofollow,noindex"><strong>Android布局优化之实用技巧</strong> </a></p>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=2649547547&idx=1&sn=df9c2c56890729dcbe4bd58d54e98df0&scene=21#wechat_redirect" rel="nofollow,noindex"><strong>Android 高效布局的几点建议</strong> </a></p>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=2649548068&idx=1&sn=f750ae79c9458f89c3cf85f7573ba579&scene=21#wechat_redirect" rel="nofollow,noindex">Google I/O 2016 上发布的 ConstraintLayout是什么东东?Android Layout新世界 </a></p>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=2649547397&idx=1&sn=ae2654a2e7ec74108305942c82ff7fe8&scene=21#wechat_redirect" rel="nofollow,noindex"><strong>Android UI布局问题总结</strong> </a></p>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=402028607&idx=2&sn=0d1aaa1ee14b61131f3321f7a4853fa2&scene=21#wechat_redirect" rel="nofollow,noindex"><strong>Android中RelativeLayout和LinearLayout性能分析</strong> </a></p>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=2649547621&idx=1&sn=7b71793fe754dc0199063ebaaaf64ace&scene=21#wechat_redirect" rel="nofollow,noindex"><strong>Android布局优化之过度绘制</strong> </a></p>    <p>http://www.jianshu.com/p/145fc61011cd</p>    <h3>19 Http https</h3>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=2649547404&idx=1&sn=79d9bd0506553f82eed32cfeb08e7648&scene=21#wechat_redirect" rel="nofollow,noindex"><strong>常见通信协议HTTP、TCP、UDP的简单介绍</strong> </a></p>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=401584709&idx=1&sn=fabebd7b6562987cf019a854ccd941e4&scene=21#wechat_redirect" rel="nofollow,noindex"><strong>从日常开发说起,浅谈HTTP协议是做什么的</strong> </a></p>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=2649547541&idx=1&sn=520cb00e9a2d2b58b6068e7a8a4d6af0&scene=21#wechat_redirect" rel="nofollow,noindex"><strong>最详细的 HTTPS 介绍</strong> </a></p>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=402028607&idx=2&sn=0d1aaa1ee14b61131f3321f7a4853fa2&scene=21#wechat_redirect" rel="nofollow,noindex"><strong>详解https是如何确保安全的?</strong> </a></p>    <p>http://www.jianshu.com/p/93fdebe5fef1</p>    <h3>20 网络请求优化</h3>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=2649547359&idx=1&sn=9f069a28f5dbe73fb6c241cfa1049571&scene=21#wechat_redirect" rel="nofollow,noindex"><strong>携程App的网络性能优化实践</strong> </a></p>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=401503281&idx=1&sn=34c2347117de5aebb9fe7c71075f5d3e&scene=21#wechat_redirect" rel="nofollow,noindex"><strong>Android推送技术研究</strong> </a></p>    <p>http://www.jianshu.com/p/3141d4e46240</p>    <h3>21 数据库优化</h3>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=401194793&idx=1&sn=0f4391fe5f94d94e4163c3ec0a698cf9&scene=21#wechat_redirect" rel="nofollow,noindex"><strong>Android上SQLite的性能优化问题</strong> </a></p>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=402016048&idx=1&sn=989c2c7acfc646f7c0924193b37762c2&scene=21#wechat_redirect" rel="nofollow,noindex"><strong>浅析SQLite的锁机制和WAL技术</strong> </a></p>    <p>http://www.jianshu.com/p/3b4452fc1bbd</p>    <h3>22 图片优化</h3>    <p><strong> </strong> <a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=2649547344&idx=2&sn=e3fa99b52055a37202634fe61a62d439&scene=21#wechat_redirect" rel="nofollow,noindex"> <strong>Android 三大图片缓存原理、特性对比</strong> </a></p>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=2649547525&idx=1&sn=81d36de63ea8a87d916bf8159134dfad&scene=21#wechat_redirect" rel="nofollow,noindex">史上最全最详细的非死book的强大Android图片加载的框架Fresco讲解 </a></p>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=2649547542&idx=2&sn=9e36438f6408c01c40034bc7164f615c&scene=21#wechat_redirect" rel="nofollow,noindex"><strong>初识非死book的强大Android图片加载的框架:Fresco</strong> </a></p>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=2649548366&idx=1&sn=6cbdf8652ec139859d9be01444e1ad3b&chksm=f1180d33c66f8425a286de4fd5f03aa89308add3593529a91356439cb8c2f8542305561034c8&scene=21#wechat_redirect" rel="nofollow,noindex"><strong>拥抱SVG:苦恼于图片适配 in Android?万能图片适配</strong> </a></p>    <p>http://www.jianshu.com/p/5bb8c01e2bc7</p>    <h3>23 HybridJAVA和JS交互</h3>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=2649548005&idx=1&sn=1b91f7cef8f77b920f97c59ea998ad3d&scene=21#wechat_redirect" rel="nofollow,noindex"><strong>好好和h5沟通!几种常见的hybrid通信方式</strong> </a></p>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=2649547318&idx=2&sn=6f961d91b2d99c94b2ec6d426cb17926&scene=21#wechat_redirect" rel="nofollow,noindex"><strong>从Ionic粗窥混合模式的手机APP开发</strong> </a></p>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=2649547335&idx=2&sn=5e7f46a33ea9663e8448478e1ec87538&scene=21#wechat_redirect" rel="nofollow,noindex"><strong>豆瓣混合开发实践</strong> </a></p>    <p>http://droidyue.com/blog/2014/09/20/interaction-between-java-and-javascript-in-android/</p>    <h3>24 单例设计模式</h3>    <p><strong><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=401348467&idx=1&sn=b472063cc387ae711d98d3b19f5129ec&scene=21#wechat_redirect" rel="nofollow,noindex">设计模式之单例详解</a> </strong></p>    <h3>25 JAVA GC原理</h3>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=2649547478&idx=1&sn=fec54d62785a6f666ef9c49646871ba9&scene=21#wechat_redirect" rel="nofollow,noindex"><strong>Android内存泄漏研究</strong> </a></p>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=401209607&idx=1&sn=a5bcd6f7574856e8fa291acd96c4b03c&chksm=7b1d127a4c6a9b6cb7962d501564b800ec97bfd3c9f18ccc69d7c52e81043580f214931df609&scene=21#wechat_redirect" rel="nofollow,noindex"><strong>理解Android虚拟机体系结构</strong> </a></p>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=401528475&idx=1&sn=e70855bdcf95bd6a4b0b98123ae218db&scene=21#wechat_redirect" rel="nofollow,noindex"><strong>JVM内幕:Java虚拟机详解</strong> </a></p>    <p>http://www.jianshu.com/p/d75a32ac5bed?</p>    <h3>26 ANR</h3>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=401393886&idx=1&sn=4ebae4243d1fc7b40b5ff3f3ce4d1467&scene=21#wechat_redirect" rel="nofollow,noindex"><strong>Android性能优化系列---避免ANR</strong> </a></p>    <p>http://www.jianshu.com/p/124f3b75e164</p>    <h3>27 <a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=2649548135&idx=1&sn=56faff50f4944dc4253b5147243d49b3&chksm=f1180e1ac66f870c05d1de8b9be87677dc4315d736b77b7c4b6c130708e852b4cfd5bd89110f&scene=21#wechat_redirect" rel="nofollow,noindex">Volley </a></h3>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=2649548135&idx=1&sn=56faff50f4944dc4253b5147243d49b3&chksm=f1180e1ac66f870c05d1de8b9be87677dc4315d736b77b7c4b6c130708e852b4cfd5bd89110f&scene=21#wechat_redirect" rel="nofollow,noindex"><strong>基于MVP架构、MD风格的Dribbble客户端</strong> </a></p>    <p>http://www.jianshu.com/p/9e17727f31a1</p>    <h3>28 JAVA注解反射原理</h3>    <p>http://www.jianshu.com/p/3968ffabdf9d</p>    <h3>29 算法</h3>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=401441966&idx=1&sn=653fe22c5a7e6c221fbf121124fd18a2&scene=21#wechat_redirect" rel="nofollow,noindex"><strong>程序员必须知道的10大基础实用算法及其讲解</strong> </a></p>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=2649548487&idx=2&sn=44afea2304d78cee7980ba686fd4d7bb&chksm=f1180dbac66f84ac75ecda3122b3207a9b77be76db034e58da3793aafe06256594f8fe007d8f&scene=21#wechat_redirect" rel="nofollow,noindex"><strong>算法趣谈—漫画:判断 2 的乘方-算法学习不再枯燥</strong> </a></p>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=2649548534&idx=2&sn=ac14b43e7916b50551046e12366d3e04&chksm=f1180d8bc66f849d63d7a3ecb1589348850e421af1d3ac72e27cf43827e13e80e6b033ec53c8&scene=21#wechat_redirect" rel="nofollow,noindex"><strong>【趣谈算法系列】:无序数组排序后的最大相邻差值</strong> </a></p>    <p>http://www.jianshu.com/p/ae97c3ceea8d</p>    <h3>30 设计模式</h3>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=401359785&idx=1&sn=17613ee50a033b7bfe740ff4b03358b2&scene=21#wechat_redirect" rel="nofollow,noindex"><strong>设计模式之Adapter</strong> </a></p>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=401536662&idx=1&sn=b434e76e5fa86eefe8fe6370dab4048e&scene=21#wechat_redirect" rel="nofollow,noindex"><strong>观察者模式学习小结</strong> </a></p>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=401348467&idx=1&sn=b472063cc387ae711d98d3b19f5129ec&scene=21#wechat_redirect" rel="nofollow,noindex"><strong>设计模式之单例详解</strong> </a></p>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=401686419&idx=2&sn=8b5b10b08926b90f345711b1beb2dc21&scene=21#wechat_redirect" rel="nofollow,noindex"><strong>“备忘录模式”就这么简单</strong> </a></p>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=2649547358&idx=1&sn=3b59d0b32cbff531f9dc03fd13262a14&scene=21#wechat_redirect" rel="nofollow,noindex"><strong>Android App的设计架构:MVC,MVP,MVVM与架构经验谈</strong> </a></p>    <p>http://gold.xitu.io/entry/56ebb4ad5bbb50004c440972</p>    <h3>31 RxJava</h3>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=2649547562&idx=1&sn=356915a93bff2c37d515804d4e03e130&scene=21#wechat_redirect" rel="nofollow,noindex"><strong>使用RxJava构造Android清晰框架</strong> </a></p>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=2649547614&idx=1&sn=0027459142c5e1ec38313500f94f20e8&scene=21#wechat_redirect" rel="nofollow,noindex"><strong>Airbnb:我们的安卓客户端是如何使用 RxJava 的</strong> </a></p>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=2649547726&idx=1&sn=18b43f3a399652f9acbb7ca2b8c1d687&scene=21#wechat_redirect" rel="nofollow,noindex"><strong>一个很棒的 Android APP框架</strong> </a></p>    <p>http://gank.io/post/560e15be2dca930e00da1083?from=timeline&isappinstalled=0#toc_1</p>    <h3>32 MVP,MVC,MVVM</h3>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=2649547649&idx=1&sn=2dd53cf351e6de8ee147ee927b03f830&scene=21#wechat_redirect" rel="nofollow,noindex"><strong>Android官方MVP架构示例项目解析</strong> </a></p>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=2649547602&idx=1&sn=571db7e744c998ef4ca762ec6a1398d5&scene=21#wechat_redirect" rel="nofollow,noindex"><strong>Android官方MVP架构示例项目解读</strong> </a></p>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=2649547358&idx=1&sn=3b59d0b32cbff531f9dc03fd13262a14&scene=21#wechat_redirect" rel="nofollow,noindex"><strong>Android App的设计架构:MVC,MVP,MVVM与架构经验谈</strong> </a></p>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=2649547554&idx=1&sn=d16c21a040447d49bfb77a9a4e804371&scene=21#wechat_redirect" rel="nofollow,noindex"><strong>浅谈 Android 编程思想和架构</strong> </a></p>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=2649548572&idx=1&sn=eed342ad8bd11743864248c6dad52ed1&chksm=f1180c61c66f85770c10f125dffcc18606a59a972f345a1a76550edeadb9713ea0d95c9741ab&scene=21#wechat_redirect" rel="nofollow,noindex"><strong>APP重构:Android实践从MVC架构到MVP架构</strong> </a></p>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=2649548426&idx=2&sn=a70b57789343f96f45ab7a12a8917394&chksm=f1180df7c66f84e168a0d307be4fcbe16f2d7dabf1b83a253cde21d557baff87aa750556b291&scene=21#wechat_redirect" rel="nofollow,noindex">Android开源实战:使用MVP+Retrofit开发一款文字阅读APP </a></p>    <p>http://blog.csdn.net/pkxiuluo01/article/details/49383783</p>    <h3>33 <a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=2649547607&idx=1&sn=5936af2e888d5c7f6152dfd9422d8e29&scene=21#wechat_redirect" rel="nofollow,noindex">React </a> Native跨平台技术</h3>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=2649547607&idx=1&sn=5936af2e888d5c7f6152dfd9422d8e29&scene=21#wechat_redirect" rel="nofollow,noindex"><strong>科普React Native-目前最火的前端技术</strong> </a></p>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=2649548587&idx=1&sn=437950900486c2d5e65f505a8e869e93&chksm=f1180c56c66f85406c477d706135c4d6b01577c0185d6fdc764c8d46ed16877e82bf92dcdf46&scene=21#wechat_redirect" rel="nofollow,noindex"><strong>React Native for Android 接入实践</strong> </a></p>    <p>https://mp.weixin.qq.com/s/i0DWHR2eQmNijXTQv3YGmQ</p>    <h3>35 Android 5.0</h3>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=2649548135&idx=1&sn=56faff50f4944dc4253b5147243d49b3&chksm=f1180e1ac66f870c05d1de8b9be87677dc4315d736b77b7c4b6c130708e852b4cfd5bd89110f&scene=21#wechat_redirect" rel="nofollow,noindex">MD</a> 风格</p>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=2649548135&idx=1&sn=56faff50f4944dc4253b5147243d49b3&chksm=f1180e1ac66f870c05d1de8b9be87677dc4315d736b77b7c4b6c130708e852b4cfd5bd89110f&scene=21#wechat_redirect" rel="nofollow,noindex"><strong>基于MVP架构、MD风格的Dribbble客户端</strong> </a></p>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=2649548564&idx=1&sn=10034e927628aa08d7c6ccd2bf2fcea0&chksm=f1180c69c66f857f48bcf5efa3673b47ab23daf7f3840d49f5e148b78e20b599a377884b38b6&scene=21#wechat_redirect" rel="nofollow,noindex">基于Retrotfit2.1+Material Design+ijkplayer开发的一个APP(新闻,gif 动图,视频播放) </a></p>    <p>http://www.androidchina.net/1381.html</p>    <h3>36 Android6.0运行时权限</h3>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=2649548030&idx=1&sn=7eb0d4b8945ee7cb0f63c6fbd27876bb&scene=21#wechat_redirect" rel="nofollow,noindex"><strong>Android6.0权限适配,比你想的还要简单(实践篇)</strong> </a></p>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=401484278&idx=1&sn=3c92184b8edbb139dc4eb7c7d719c7ab&scene=21#wechat_redirect" rel="nofollow,noindex">Android 6.0(API级别23)包括各种系统变化和API的行为变化 </a></p>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=2649548307&idx=1&sn=0c602a6ca6ddb954e084dea02ba83b95&chksm=f1180d6ec66f847862b8e2367dd1f12f2089ff81f71238c37eeeefb9f16187c668de7e966fa1&scene=21#wechat_redirect" rel="nofollow,noindex"><strong>Android6.0触摸事件分发机制解读</strong> </a></p>    <p>https://mp.weixin.qq.com/s/R2sAthMB2yW3ytTesnT-Jw</p>    <h3>37 Android7.0新特性</h3>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=2649548427&idx=1&sn=df9956d131a6da5f29292cd05a61b16e&chksm=f1180df6c66f84e0097eea33bba6abb125b6bcd6847720a7c481a85001a52ae2e4b1941690eb&scene=21#wechat_redirect" rel="nofollow,noindex">Android 7.0新特性总结,快看Google又有什么出人意料的东西? </a></p>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=2649548191&idx=1&sn=08d1271b767f85da8ce165d2f211ebbd&chksm=f1180ee2c66f87f445b505f4951574f423ac2d9f5578fb5452c29167dae09a51243f55208ca5&scene=21#wechat_redirect" rel="nofollow,noindex"><strong>Android7.0适配教程与心得</strong> </a></p>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=2649547485&idx=1&sn=c058357980e110da49b4544819d3b907&scene=21#wechat_redirect" rel="nofollow,noindex">Android N最令人期待的10大新功能</a></p>    <p>http://blog.csdn.net/wds1181977/article/details/52292445</p>    <h3>38 Android插件化和组合化开发</h3>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=2649547594&idx=1&sn=5428ab6ec18c21df37db7423e009418c&scene=21#wechat_redirect" rel="nofollow,noindex"><strong>Android插件化之使用AndFix进行Hot fix</strong> </a></p>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=2649547390&idx=1&sn=1fae14b1753e437a032640be81c475b8&scene=21#wechat_redirect" rel="nofollow,noindex"><strong>Android分包原理</strong> </a></p>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=2649547660&idx=1&sn=d2764b282fdf1c1fdb629f9c2ca9b10f&scene=21#wechat_redirect" rel="nofollow,noindex"><strong>Android插件化的一种实现</strong> </a></p>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=2649547588&idx=1&sn=71a5eaf53c601a44ddc582ef3d3de44d&scene=21#wechat_redirect" rel="nofollow,noindex"><strong>插件化的基石之apk动态加载</strong> </a></p>    <p><a href="http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=2649547401&idx=1&sn=e615735d600f987a7f769f7e278d0840&scene=21#wechat_redirect" rel="nofollow,noindex"><strong>途牛原创|途牛Android App的插件实现</strong> </a></p>    <p> </p>    <p> </p>    <p>来自:http://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=2649548612&idx=1&sn=8e46b6dd47bd8577a5f7098aa0889098&chksm=f1180c39c66f852fd955a29a9cb4ffa9dc4d528cab524059bcabaf37954fa3f04bc52c41dae8&scene=21#wechat_redirect</p>    <p> </p>