写点什么

Android 开发周报:Chrome、Android 欲合二为一、Adapter 优化探索

2015 年 11 月 06 日

新闻

  1. 《谷歌欲将 Chrome 和 Android 合二为一》:据外电报道,谷歌正筹划把 PC 操作系统 Chrome 与移动操作系统 Android 进行合并。此举表明移动计算已越来越占据主导地位。消息人士称,为把这两款操作系统合并到一起,谷歌的技术人员已付出了近两年的辛劳工作。这项工作在日前取得了进展。据悉,谷歌计划在 2017 年正式推出合并版操作系统,而且该公司会在明年对外展示早期版的新款操作系统。
  2. 《苹果史上第二款 Android App 已在 Google Play 上架》:苹果有史以来第一款为 Android 开发的 App,就是 Move to iOS,这款方便 Android 用户跳槽的工具程序。而史上第二款的攻击性则没有那么大,是一款为 Beats Pill+ 而设的蓝牙喇叭控制 App。它可提供 DJ 功能(两人控制一喇叭)、把两个 Pill+ 配对同步播放音乐,或是把它们变成一对立体声喇叭。 点这里下载该应用。
  3. 《黑莓 Android 手机本周上市》:加拿大智能手机制造商黑莓推出的首款 Android 智能手机将于本周上市。该产品或将是黑莓终止手机业务前的最后一次努力。如果新产品市场表现不佳,曾经的智能手机龙头黑莓或将选择放弃智能手机业务。

教程

  1. 《Adapter 优化方案的探索》:Adapter 在 Android 中既不是 View 也不是 Controller,而是连接 View 与 Controller 的桥梁,是一个数据和视图的绑定装置。Adapter 使用的频率非常高,但使用起来比较麻烦,也经常会让代码的可读性变差,使程序变的臃肿。本文作者本着高复用性、调用简单、逻辑清晰的原则重构了一个关于 Adapter 的库。阅读文章,了解作者的详细优化方案。文章中也给出了优化后的源码
  2. 《安卓 App 热补丁动态修复技术介绍》:当一个 App 发布之后,突然发现了一个严重 bug 需要进行紧急修复,这时候公司各方就会忙得焦头烂额:重新打包 App、测试、向各个应用市场和渠道换包、提示用户升级、用户下载、覆盖安装。有时候仅仅是为了修改了一行代码,也要付出巨大的成本进行换包和重新发布。这时候就会想到以补丁的方式动态修复紧急 Bug,不需要重新发新版。QQ 空间团队采用的解决方案是基于 Android Dex 分包策略,把有问题的类打包到一个 dex,然后把该 dex 插入到 Elements 的最前面。该技术可以简单方便的用户生产环境,性价比极高,强烈推荐大家使用。
  3. 《关于 Android Log 的一些思考》:在日常的 Android 开发中,日志打印是一项必不可少的操作,我们通过分析打印的日志可以分析程序的运行数据和情况。我们可以使用一些第三方的日志工具来提高工作效率,但如果自己来制作一款日志工具,你有什么想法呢?使用日志打印的正确姿势是什么?如何屏蔽日志信息输出?对这些问题本文进行了详细解答。
  4. 《Android MVP 模式简单易懂的介绍方式》:MVP 模式是 MVC 模式在 Android 上的一种变体。在 MVC 模式中,Activity 应该是属于 View 这一层。而实质上,它既承担了 View,同时也包含一些 Controller 的东西在里面。这对于开发与维护来说不太友好,耦合度大高了。把 Activity 的 View 和 Controller 抽离出来就变成了 View 和 Presenter,这就是 MVP 模式。当项目变的越来越大、参与的人也越来越多的时候,MVP 模式的优势就会非常明显。本文以案例的方式,通俗易懂的解释了到底什么是 MVP 模式。
  5. 《开源选型之 Android 图片缓存原理、特性对比》:从网络获取图片几乎会出现在每个 App 中。获取图片的过程比较简单:获取到本地,稍加内存缓存,添加磁盘缓存,然后再呈现给用户。但亲自去实现这样一个高性能的工具库也并非易事。所以大部分开发者会选择开源组件。目前比较流行的开源图片加载库有最早开源的 Universal ImageLoader、JakeWharton 主导的 Picasso、Google 员工开源的 Glide 以及 Facebook 上半年开源的 Fresco。作者对这几款开源项目进行了详细的分析,包括他们的优点、缺点、使用方法等。
  6. 《React Native 中组件的生命周期》:所谓生命周期,就是一个对象从开始生成到最后消亡所经历的状态,理解生命周期,是合理开发的关键。就像 Android 中的 Activity 一样,React Native(RN)中的组件也有生命周期(Lifecycle)。RN 的生命周期分为三个阶段:绘制阶段、运行和交互阶段、卸载消亡的阶段。阅读文章,了解 React Native 生命周期的工作原理。
  7. 《Activity 启动过程全解析》:本文是一篇介绍 Android 底层工作原理的文章,介绍了一个 App 是怎么启动起来、App 的程序入口到底是哪里、Launcher 到底是什么神奇的东西以及 Activity 生命周期是什么时候调用等等。本文能让我们了解从手机开机第一个 zygote 进程创建,到点击桌面上的图标,进入一个 App 的完整流程。也能帮助我们理解 ActivityManagerServices(即 AMS)、ActivityStack、ActivityThread、Instrumentation 等 Android framework 中非常重要的基础类的作用,及相互间的关系。
  8. 《Gradle 脚本基础全攻略》:Gradle 核心是基于 Groovy 的领域特定语言(DSL),具有非常好的扩展性,所以不管是简单的独立项目还是大型的多项目构建它都能高效的提高构建任务,尤其对多项目支持是非常优秀的;Gradle 还提供了局部构建功能,譬如构建一个单独子项目时它会构建这个子项目依赖的所有子项目。本文详细介绍了 Gradle 的基础知识及使用方法。

开源项目

  1. android-UCToast :该项目模仿了 UC 浏览器的一个小功能:当用户有复制动作时,自动显示浮窗。项目原理是开机自动启动的 Service 监听剪切板。复制之后,在屏幕顶部显示一个悬浮窗,显示剪贴板内容。点击悬浮窗,跳转到 Activity 页面显示。
  2. plaid :这是一个 Material Design 风格的简单 App,列表以格子形式呈现,界面参考了 Designer News, Dribbble & Product Hunt 等知名设计网站。如果你正在使用 Material Design 进行开发,不烦考虑考虑该项目的风格。
  3. Favor :Android 中我们经常会使用 SharedPreference 进行数据存储。有了 Favor 后,我们就可以通过注解的方式操作 SharedPreference,只需要写一行代码。
  4. NetGuard :这是一款开源的网络防火墙应用。NetGuard 可以控制哪些应用可以访问网络,哪些不可以。目前市面上大多数网络防火墙都需要 Root 权限,而 NetGuard 的特色就是不需要 Root 权限。赶快去下载源码,了解黑科技吧。

感谢徐川对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群)。

2015 年 11 月 06 日 18:003185
用户头像

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

关注

评论

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

由一次管理后台定时推送功能引发的对 RabbitMQ 延迟队列的思考 (二)

LSJ

Java RabbitMQ 延迟队列 优先级队列

在项目中随手把haseMap改成了currenHaseMap差点被公司给开除了

java金融

Java 后端 BigDecimal金额 Arrays.asList

能走出来的,都不叫困境

zkback

三流程序员大晚上不睡觉,竟然在做这件事

Janenesome

写作平台 碎碎念

Java世界的“烂”包管理

阿喜伯

maven Git Submodule

从拼多多突破阿里和京东两大巨头绞杀,市值破千亿美金来看职业价值链

非著名程序员

程序员 程序人生 职业规划 程序员成长 职业成长

游戏夜读 | RPG的美式和日式

game1night

antdesign table 设置默认选中行且不可编辑

张张张小烦

Week3 命题作业

星河寒水

极客大学架构师训练营

【Golang runtime学习笔记-启动过程分析】

卓丁

golang 初始化 runtime 汇编 go汇编

终于有人把 java代理 讲清楚了,万字详解!

java金融

Java jdk 后端 动态代理 cglib

一款跨平台免费的开源 SQL 编辑器和数据库管理器!

JackTian

数据库 sql GitHub 开源项目 实用工具

系统设计(4)-请设计一个线程安全的HashMap

程序员老王

系统设计

[安利] 可能会让你爱上书写的工具组合!

猴哥一一 cium

Typora markdown markdown编辑器 玩转写作平台

golang-pprof实战笔记

卓丁

golang pprof 性能分析

架构师训练营 Week 03 关于反应式Web框架Flower

Wancho

ArrayList哪种循环效率更好你真的清楚吗

java金融

Java 后端 ArrayList 循环效率 方式

如何做好职场印象管理?

石云升

职场 印象管理 职场形象

实现一个redis命令--nonzerodecr

老胡爱分享

redis 源码分析 源码阅读

策略模式解析

七哥爱编程

设计模式 策略模式

“技术是用的,不是喊的”区块链标准为电商引入“诚信管家”

CECBC区块链专委会

区块链技术 溯源 电商 防篡改 诚信管家

Kafka面试题:基础27问,必须都会的呀!

Java小咖秀

大数据 kafka 分布式 队列 延时消息

行业观察丨区块链如何与工业互联网深度融合

CECBC区块链专委会

区块链技术 工业互联网 分布式存储

区块链系列教程之:比特币的钱包与交易

程序那些事

比特币 区块链 智能合约 钱包 交易

[架构师训练营] 2 依赖倒置

悬浮

依赖倒置-好莱坞原则

yupi

优化工程师逻辑视角下的微信“拍一拍”功能

Earth_Polarbear

人工智能 微信 系统工程 优化逻辑

ARTS - Week Five

shepherd

Java algorithm

把主机放在家里

centos Homework

区块链的未来,公链回归

CECBC区块链专委会

区块链技术 联盟链 公链 底层技术

2020年6月19日 服务器性能剖析

瑞克与莫迪

演讲经验交流会|ArchSummit 上海站

演讲经验交流会|ArchSummit 上海站

Android开发周报:Chrome、Android欲合二为一、Adapter优化探索-InfoQ