BT

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

Android开发周报:Flyme OS开源、经典开源项目解析

| 作者 郭亮 关注 18 他的粉丝 发布于 2015年7月9日. 估计阅读时间: 7 分钟 | GMTC大前端的下一站,PWA、Web框架、Node等最新最热的大前端话题邀你一起共同探讨。

新闻

  1. 《魅族Flyme OS源码上线GitHub》:近日魅族正式发布了MX5,并且在发布会上,魅族还宣布Flyme OS开放适配。随后,魅族正式放出了Flyme官方ROM适配工具。在众多国产UI当中,魅族Flyme也算是一款比较有特色的产品。虽然有不少网友戏称之为『Bugme』,但是其还是有一定的受众群体的。本次魅族宣布Flyme OS开放适配,也算是一个不错的消息,最起码会有不少没有魅族手机的用户有机会体验一下这款系统。这里是Flyme的GitHub页面
  2. 《Java版权案谷歌上诉被驳回》:美国最高法院周一驳回了谷歌在一宗软件版权诉案中提出的上诉申请,维持原先的判决,即允许甲骨文向使用其Java编程语言的公司收取专利版税。而谷歌在其Android移动操作系统中使用了Java API,这意味着谷歌将要为Android掏一大笔钱。

教程

  1. 《Android 百分比布局库解析与扩展》:百分比布局是网页中最常用的布局方式,近日谷歌发布了一个百分比布局的支持库android-percent-support-lib。该库提供了两种布局PercentRelativeLayout和PercentFrameLayout供开发者使用。随着Android手机碎片化的持续发展,App开发时适配问题越来越成为耗时、不省力的工作,百分比布局最大的好处应该就是解决屏幕适配问题。此处为作者对该库的改进版,赶快行动吧。
  2. 《Chromium和WebKit的智能指针实现原理分析》:C++不像Java一样,由虚拟机负责对象分配和释放。也就是说,开发人员使用C++编写代码时,要自己负责对象分配和释放。WebKit和Chromium都是使用C++开发的,因此它们也面临上述问题。在解决对象释放问题时,要做到在对象不需要时自动释放,因为手动释放会带来忘记释放或者释放后又继续使用的隐患。智能指针是实现对象自动释放的有效技术手段。本文就分析Chromium和WebKit的智能指针的实现。
  3. 《DynamicLoadApk 源码解析》:DynamicLoadApk 是一个开源的 Android 插件化框架。插件化的优点包括:模块解耦、动态升级、高效并行开发(编译速度更快)、按需加载、内存占用更低等等。DynamicLoadApk 提供了3种开发方式,让开发者在无需理解其工作原理的情况下快速的集成插件化功能。本文详细解读了DynamicLoadApk的实现原理。
  4. 《SlidingMenu 源码解析》:SlidingMenu应该是侧滑菜单中最受开发者欢迎的开源项目,SlidingMenu的侧边栏可以是一个 Fragment,可包含任何 View,并且SlidingMenu支持左滑和右滑、可以自定义侧边栏显示动画。SlidingMenu的使用也非常方便,逻辑清晰,代码量少。本文是codekk源码解析系列里关于SlidingMenu的一篇详细解析。
  5. 《Kotlin在Android工程中的应用》:Kotlin是由JetBrains设计的开放源码的编程语言,它正在Java开发者中变得越来越流行。Kotlin通常被吹捧为Java的继承者,相比较Java而言,Kotlin提供更为丰富的开发经验,因为它更现代,更具表现力和更简介。本文介绍了在Android Studio工程中如何使用Kotlin和Kotlin插件。
  6. 《从设计到实现,一步步教你实现Android-Universal-ImageLoader-缓存》:我们要对图片进行缓存,有两种方式:内存缓存和本地缓存。这两种方式的区别在于,内存缓存是缓存在 Android 系统为应用分配的运行内存之中,读取速度快,但是可能会带来 OOM 的问题;本地缓存一般缓存在 SD 卡中,读取速度较慢,但是缓存空间足。那么我们要怎么来实现内存缓存和本地缓存呢?阅读本文,学习如何写出代码结构清晰,类间耦合度低的代码。
  7. 《如何使用Android Studio把自己的Android library分发到jCenter和Maven Central》:如果你想在你的项目中引入一个第三方的library,你只需在Android Studio中添加一行代码到模块的build.gradle文件中,然后就可以使用这个library了。这种技术实在是太酷了,Android Studio是从哪里得到这个library的?其内部是如何运作的?这篇文章将详细讲解该技术运行原理,以及如何把你开发的库发布,分享给世界各地的其他开发者。

开源项目

  1. dexposed:dexposed是一款无侵入的运行期AOP框架,是阿里巴巴无线事业部的第一个重量级Android开源项目。该项目是基于ROOT社区著名开源项目Xposed改造剥离了ROOT部分,演化为服务于所在应用自身的AOP框架。它支撑了阿里大部分App的在线分钟级客户端bugfix和线上调试能力。
  2. bubbles-for-android:这是一个可以在桌面上添加聊天头像(或者其它的图标)的应用,支持拖动删除功能。
  3. TourGuide:TourGuid一个非常赞的开源项目。对于一些复杂的App,我们希望能够给用户一些引导操作。当用户首次打开应用的时候,可以按照给出的引导来熟悉App。TourGuid就是为这种场景而生的项目,动画效果很漂亮,马上收藏备用吧!

感谢徐川对本文的审校。

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

评价本文

专业度
风格

您好,朋友!

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

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的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通知我

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

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

讨论

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


找回密码....

Follow

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

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

Like

内容自由定制

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

Notifications

获取更新

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

BT