BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

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

| 作者 郭亮 关注 18 他的粉丝 发布于 2015年11月7日. 估计阅读时间: 8 分钟 | Google、Facebook、Pinterest、阿里、腾讯 等顶尖技术团队的上百个可供参考的架构实例!

新闻

  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读者交流群InfoQ好读者)。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

good by CN. Fyhack

good

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

1 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT