Android 开发周报:热修复技术选型、Android 6.0 运行时权限管理

  • 郭亮

2016 年 9 月 17 日

话题:移动Android语言 & 开发架构

  • 《Android 热修复技术选型——三大流派解析》:2015 年以来,Android 开发领域里对热修复技术的讨论和分享越来越多,同时也出现了一些不同的解决方案,如 QQ 空间补丁方案、阿里 AndFix 以及微信 Tinker,它们在原理各有不同,适用场景各异,到底采用哪种方案,是开发者比较头疼的问题。本文希望通过介绍 QQ 空间补丁、Tinker 以及基于 AndFix 的阿里百川 HotFix 技术的原理分析和横向比较,帮助开发者更深入了解热修复方案。

  • 《Android 的 OOM 详解》:OOM(out of memory)即内存泄露。一个程序中,已经不需要使用某个对象,但是因为仍然有引用指向它垃圾回收器就无法回收它,当该对象占用的内存无法被回收时,就容易造成内存泄露。本文为我们讲解了 OOM 的原因以及如果避免 OOM。

  • 《 Android 6.0 运行时权限管理最佳实践》:在旧的权限管理系统中,权限仅仅在 App 安装时询问用户一次,用户同意了这些权限 App 才能被安装。在 Android6.0 开始,App 可以直接安装,App 在运行时一个一个询问用户授予权限,系统会弹出一个对话框让用户选择是否授权某个权限给 App,当 App 需要用户授予不恰当的权限的时候,用户可以拒绝,用户也可以在设置页面对每个 App 的权限进行管理。这个对话框不是开发者调用某个权限的功能时由系统自动弹出,而是需要开发者手动调用,如果你直接调用而没有去申请权限的话,将会导致 App 奔溃。本文为我们详细讲解了 Android 6.0 的权限管理知识。

  • 《Android 内存泄漏的简单检查与分析方法》:内存泄漏问题大约是 Android 开发者最烦恼的问题之一了,内存泄漏不可小视,在 Android 开发中,比如说一个 Activity 页面会占用许多资源开销,如果页面发生泄漏,关闭以后页面没有能被系统回收,对应用程序的伤害是很大的。本文详解了如果发现内存泄漏、发现后使用工具来分析内存泄漏等知识。

  • 《Android 深入理解 Loader 机制,让 APP 轻装上阵》:Android 开发者都经历过 APP UI 开发不当会造成 OverDraw,导致 APP UI 渲染过慢,但是很多人却没听过 OverLoad,OverLoad 一般是由于开发者在主线程进行耗时操作,导致程序变慢,甚至出现的 ANR 的现象,那么 Android 早已为这种现象提供完美的解决方案,就是本文给大家带来的 Android Loader 机制。

  • 《iOS App 组件化开发实践》:当业务变得越来越复杂,项目变的越来越庞大,参与同一项目的开发人员越来越多的时候,项目管理者就需要考虑引入组件化或插件化,以这种方式去维护项目、添加功能。组件化其实就是对项目的解耦,使开发人员各司其职,能够更专注于与自己相关的业务。一般大的厂商都会有组件化的方案。本文作者介绍了自己的实践之路,如果你的团队或项目还没有进行组件化,那么可以参考作者的思路。

  • 《Fastlane- 移动开发自动化之道》:在程序的世界里,一切重复性的,流程化的工作都可以交给自动化去完成。在移动开发中也是如此:其实写代码只是我们开发过程中的一部分,除此之外我们还需要进行编译,打包,上传,部署,库管理,版本控制等等 Coding 之外的杂事,而正是这些乏味而重复的工作占用了我们宝贵的时间。本文为大家介绍其中一套用 Ruby 语言编写的自动化工具集和框架:Fastlane,这个 Github 上的明星项目截止到目前共获得 1 万多个 Star,并且还有 1500 多个 Fork。

  • 《SQLite 中的各种限制》:SQLite 最初被设计成避免任何限制策略的数据库。当然,运行任意程序的机器都有特定大小内存和磁盘空间限制。但是在 SQLite,哪些限制没有被定义。该策略是,如果有足够内存并且可以运行在 32 位机器上,那么它应该可以工作。不幸的是,没有限制策略已经暴露出问题了。

  • 移动Android语言 & 开发架构