报名参加CloudWeGo黑客松,奖金直推双丰收! 了解详情
写点什么

Android 开发周报:Android 7.1 开放下载、Tinker 源码研读

  • 2016-10-25
  • 本文字数:1651 字

    阅读完需:约 5 分钟

  1. 《Android ListView 与 RecyclerView 对比浅析–缓存机制》:RecyclerView 是谷歌官方出的一个用于大量数据展示的新控件,可以用来代替传统的 ListView,更加强大和灵活。作者最近遇到了是否要将 ListView 替换为 RecyclerView 的问题。秉承着实事求是的作风,弄清楚 RecyclerView 是否有足够的吸引力替换掉 ListView,作者从性能这一角度出发,研究 RecyclerView 和 ListView 二者的缓存机制,并得到了一些较有益的结论。
  2. 《Atlas:手淘 Native 容器化框架和思考》:在刚刚过去的云栖大会上,手淘宣布其移动容器化框架 Atlas 将于 2017 年年初开源,对这个框架,在过去团队对外部做过一些分享,外界也一直对其十分关注,到现在它终于即将开源了。本文介绍了 Atlas 的设计思路和手淘对容器化、组件化和动态化上的思考,主要内容来自阿里巴巴资深技术专家倪生华(玄黎)在 2016 杭州云栖大会上的分享。
  3. 《tinker 源码研读(一):补丁生成之 DexDiff 原理简析》:微信的热修复框架 Tinker 已经在国庆节之前开源了,成为了 github.com/Tecent 下第一个项目,刷爆了各位开发者的朋友圈。作为一个超级 APP 的 HotFix 库,Tinker 不仅值得我们 compile,更值得我们 read。Tinker 和以往的 HotFix 库思路不太一样,它更像是 APP 的增量更新,在服务器端通过差异性算法,计算出新旧 dex 之间的差异包,推送到客户端,进行合成。传统的差异性算法有 BsDiff,而 Tinker 的优秀之处就在于它自己基于 Dex 的文件格式,研发出了 DexDiff 算法。
  4. 《Android 进程绝杀技–forceStop》:话说 Android 开源系统拥有着 App 不计其数,百家争鸣,都想在这“大争之世”寻得系统存活的一席之地。然则系统资源有限,如若都割据为王,再强劲的 CPU 也会忙不过来,再庞大的内存终会消耗殆尽,再大容量的电池续航终会昙花一现。面对芸芸众生,无尽变数,系统以不变应万变,一招绝杀神技 forceStop 腾空出世,需要具有 FORCE_STOP_PACKAGES 权限,当然这个并非第 3 方 app 可以直接调用的, 否则 App 间可以相互停止对方。
  5. 《有赞 Android 客户端网络架构演进》:Android 客户端网络请求是每一个应用都不可或缺的模块,其设计的好坏直接影响应用的性能和代码稳定性、扩展性。Android 网络请求最开始官方只提供了最基础的方法,开发者必须在此基础上进行二次封装,这样就要求开发者对 Http 请求协议、缓存、JSON 转换、错误处理以及线程切换等都比较熟悉,稳定性、可扩展性和可维护性都是比较大的挑战。本文详细介绍了有赞客户端的网络架构。
  6. 《在 2016 年学 Android 是一种什么样的体验?》:转眼间 2016 年的电量已不足 20%,不禁感慨 How Time Flies!不知不觉 Android 移动开发已经走过了八年的光阴,在这八年的时间中,Android 开发从最初的简单调用系统 API,到各类框架的不断涌现,再到如今的成熟阶段,那么作为一个想在 2016 年开始学习 Android 或者重新开始学习 Android 的开发者来说,你将看到一幅什么样的光景呢?本文给出了答案。
  7. 《写给 Android 开发者的混淆使用手册》:毫无疑问,混淆是打包过程中最重要的流程之一,在没有特殊原因的情况下,所有 app 都应该开启混淆。本文由两部分构成,第一部分给出混淆的最佳实践,力求让零基础的新手都可以直接使用混淆;第二部分会介绍一下混淆的整体、自定义混淆规则的语法与实践、自定义资源保持的规则等。
  8. 《AndroidLintWatchDog Custom-Lint 自定义 Lint 检查的实现》:Android 自定义 Lint 检查能有效提升代码质量、避免人工的低级失误,同时也能规范代码。自定义 Lint 检查属于程序自动化的内容,这部分内容涉及的资料较少,但是实际意义重大,尤其是对有规模的团队而言。
  9. 《Android 是如何管理 App 内存的–Android 内存优化第二弹》:我们知道,Android 中每个 App 默认情况下是运行在一个独立进程中的,而这个独立进程正是从 Zygote 孵化出来的 VM 进程。也就是说,每个 App 是运行在独立的 VM 空间的。那么 Android 是怎么管理这些 App 的内存的呢,这些独立运行的 VM 中的内存管理又是怎样的呢?本文给出了详细的说明。
2016-10-25 19:003052
用户头像

发布了 121 篇内容, 共 47.7 次阅读, 收获喜欢 6 次。

关注

评论

发布
暂无评论
发现更多内容

用图数据库可视化探索 Chia Network 区块链数据

古思为

区块链 可视化 图数据库

并发王者课-青铜7:顺藤摸瓜-如何从synchronized中的锁认识Monitor

MetaThoughts

Java 多线程 并发

【玩转PDF】贼稳,产品要做一个三方合同签署,我方了!

牧小农

JVM

眼观六路耳听八方还不知疲倦?数仓智能运维服务体系是怎么做到的?

华为云开发者联盟

数据库 数据仓库 监控 智能运维 数据库监控

webRTC的标准与发展

anyRTC开发者

音视频 WebRTC RTC

appium 入门参考

37手游iOS技术运营团队

ios 测试 自动化测试 iOS Developer

量化网格策略交易软件,马丁倍投策略机器人

5 月 28 日 - 29 日阿里云峰会视频云专场直播预告

阿里云CloudImagine

阿里云 音视频

V8数据存储(上篇):栈和堆

梁龙先森

大前端 浏览器

【Flutter 专题】118 图解特殊利器 ShaderMask 着色器

阿策小和尚

5月日更 Flutter 小菜 0 基础学习 Flutter Android 小菜鸟

高可用DevHa实践,告诉你生产环境0性能故障是如何做到的!

TakinTalks稳定性社区

压测 性能调优 全链路压测 系统稳定高可用 性能压测

工业4.0加速实现“数物相合”,可视化工厂节省时效高达85%

一只数据鲸鱼

人工智能 数据可视化 工业互联网 智慧工厂 智能生产

计算社会科学 - DAY 17

Qien Z.

5月日更

英特尔院士斯旺:由外而内重塑芯片设计

E科讯

鸿蒙轻内核M核源码分析:数据结构之任务排序链表

华为云开发者联盟

鸿蒙 数据结构 任务排序链表 双向链表数组 鸿蒙轻内核

现在已经卷到需要问三色标记了吗?

艾小仙

活动预告 _ 即构×火山引擎:泛娱乐社交音视频技术实践沙龙

ZEGO即构

为什么不推荐C++?

实力程序员

低代码实现传统装饰企业的管理跃迁

华为云开发者联盟

低代码 华为云 计算 低代码开发 AppCube

Django 之 Models(Models 模型 & 数据表关系)

若尘

django model Python编程 5月日更

代码精进之路学习笔记

escray

学习 极客时间 5月日更

博睿数据2021战略发布巡展,开辟IT运维创新路径

博睿数据

博睿数据 数据链DNA 服务可达

🍃【SpringCloud基础使用】Nacos与Gateway实现动态路由

码界西柚

nacos SpringCloud Gateway 5月日更 自定义配置

week5作业

Geek_2e7dd7

架构实战营

从源码角度研究Java动态代理

叫我阿柒啊

动态代理 代理模式 rmi

MySQL事务处理特性的实现原理

华为云开发者联盟

MySQL 数据库 innodb 事务 隔离

2021 全球技术领导力峰会 融云布道技术领导力进阶之路

融云 RongCloud

获得业内一致好评!华山版Java性能优化全栈手册“登场”

Java架构追梦

Java 阿里巴巴 架构 性能优化 华山版

用Python在树莓派上播放音乐

IT蜗壳-Tango

5月日更

答应我,别再学Swing框架了好吗?

北游学Java

Java spring swing

密码学系列之:SAFER

程序那些事

密码学 程序那些事 SAFER

Android开发周报:Android 7.1开放下载、Tinker源码研读_移动_郭亮_InfoQ精选文章