Android开发周报:Android7.0截图公布、插件化原理解析
jopen 9年前
新闻
- 《安卓7.0首批截图公布:惊现汉堡菜单》 :2月26日消息,谷歌在开发者页面公布了首批Android N(安卓7.0)截图,从截图中能够了解到的一点是安卓7.0设置界面中会添加汉堡式菜单,但并不清楚是否汉堡菜单会贯穿全系统。当然,最终这个特性会不会出现在安卓7.0中也不能确定。另外还有消息称,安卓7.0将取消应用抽屉。
- 《微软正式宣布移植Android应用计划流产》 :2月26日上午,微软今天宣布将停止为开发者提供Android应用导入工具,意味着他们无法借助微软提供的官方工具轻易将Android应用导入Windows 10。微软最早在去年的Build开发者大会上宣布了这个名为Project Astoria的项目,同时还发布了一项类似的计划,可以在iOS与Windows之间建立所谓的“桥”,而且可以帮助开发者将旧版Windows软件和Web软件迁移到新版Windows 10系统。
- 《2015年Android恶意软件样本数量超230万》 :据德国网络安全公司G DATA最新公布的一份调查报告显示,2015年,Android恶意软件样本数量达到了2,333,777个,形象的来描述就是差不多每隔11秒就会出现一个新的Adnroid恶意软件样本。该数值同比2014年增长了50%。而在2015年第四季度,新出现的Android恶意软件文件数量达到758,133个,同比14年第四季度增长了32%。
教程
- 《ReactNative For Android 项目实战总结》 :本文由QQ空间终端开发团队出品。Android Qzone 6.1版本在情侣空间涉水React Native,以动态插件方式将情侣空间进行React Natived的改造。在情侣空间基础上,Android Qzone 6.2版本以融合的方式将话题圈进行React Native改造。本文主要讲述话题圈的开发改造流程、相关数据对比及性能优化,本次改造React Native基于15Release。
- 《Android:我为何要封装DialogFragment?》 :Dialog在实际使用中会存在一些问题,比如在手机配置发生变化后(比如屏幕旋屏),无法恢复Dialog的状态。DialogFragment是在Android3.0被引入的,从其名字可以很直观的看出它是一种基于Fragment的Dialog,可以用来创建对话框,DialogFragment是用来替代Dialog的。本文作者解释了为什么抛弃Dialog而使用DialogFragment,并且详解了对DialogFragment的封装过程。
- 《非死book如何采集其Android应用性能数据》 :非死book一直致力于不断提高Android应用的运行速度。虽然他们内部已经有类似CTScan这样的性能跟踪系统,但Android的碎片化使他们无法在实验室中测试每一种可能。因此,他们希望通过遥测技术从人们真实使用的Android手机中收集性能信息来补充测试数据。本文介绍了非死book的插桩方法,他们在考察了Android内建的Debug以及另一些方法后,选择了字节码重写技术,避免了手工插桩的劳动,且性能损失降到最低。
- 《Android开发必备知识:为什么说Kotlin值得一试》 :Kotlin是一门与Swift类似的静态类型JVM语言,由JetBrains设计开发并开源。与Java相比,Kotlin的语法更简洁、更具表达性,而且提供了更多的特性。用Kotlin替代Java开发你的程序,无论是Android还是Server,你都能像之前写Java一样思考,同时又能享受到新一代编程语言的特性。其实经过一年多的发展,Kotlin 1.0已经release,feature基本完善,api也趋于稳定,或许你可以尝试使用Kotlin来开发App了。
- 《Android Support Library 23.2介绍》 :当我们说起 Android Support Library时,必须清楚的认识到这不仅仅只是一个库,而是一个能对API向后兼容的,提供独特的功能而不需要最新平台(plathform)支持的 库的集合。23.2版本在许多现有库的基础上增加一些新的支持以及功能。本文是对该库的一个简单介绍,有助于我们更加了解该库的新特性。
- 《最详细的Toolbar开发实践总结》 :Toolbar是在Android 5.0开始推出的一个Material Design风格的导航控件,Google强烈推荐大家使用Toolbar来作为Android客户端的导航栏,以此来取代之前的Actionbar。与Actionbar相比,Toolbar明显要灵活的多。它不像Actionbar一样,一定要固定在Activity的顶部,而是可以放到界面的任意位置。除此之外,在设计Toolbar的时候,Google也留给了开发者很多可定制修改的余地,这些可定制修改的属性在API文档中都有详细介绍。本文详细讲解了Toolbar的使用方法,能够帮助我们快速上手Toolbar。
- 《在Android应用中使用Clean架构》 : Clean 是一个开源的Android 架构。写一个好的App是很复杂的,不仅要满足产品需求,还要健壮、好维护、好测试并且容易扩展和修改。这便是The Clean Architecture出现的原因。本文详细的介绍了Clean的使用方法,结合代码讲解了如何在Android应用中使用Clean架构。 这里 是英文原文。
- 《Android插件化原理解析——Hook机制之Binder Hook》 :Android系统通过Binder机制给应用程序提供了一系列的系统服务,诸如ActivityManagerService,ClipboardManager, AudioManager等;这些广泛存在系统服务给应用程序提供了诸如任务管理,音频,视频等异常强大的功能。插件框架作为各个插件的管理者,为了使得插件能够无缝地使用这些系统服务,自然会对这些系统服务做出一定的改造(Hook),使得插件的开发和使用更加方便,从而大大降低插件的开发和维护成本。我们把这种Hook系统服务的机制称之为Binder Hook。本文对Binder Hook进行了详解,对于我们了解插件化原理大有帮助。 这里 是作者另外一篇介绍插件化原理的文章。
- 《开发一流的Android SDK:Fabric SDK的创建经验》 :推ter的Fabric是知名的注重质量的SDK,并已部署在数十亿的设备。来自推ter的Ty Smith,揭示了Fabric团队创建Fabric的各种原则,特别是在Android方面。通过深入参与技术决策团队,Ty了解到很多信息,他展示了团队在创建这个SDK过程中学到的各种经验心得,关于稳定性、性能、SDK 体积控制、以及对于一些特殊情况的处理这些方面。无论你现在或将来想要建设一个SDK,通过本文(文中附视频)你将收益很多关于设计SDK的伟大想法。
开源项目
- Douya :Douya是一款开源的豆瓣客户端,项目采用了Material Design的设计风格。
- SwipeCardView :SwipeCardView是一个带渐变层叠动画的左右滑动效果(类似于探探左右刷脸效果)。
- CoolAndroidAnim :一个酷炫的android loading效果,作者的想法来源于nexus6.0系统的开机动画,也是对于它的一个模仿:从四个小球的 不同的组合动画演变成loading字样的效果。
调查报告
- 《Google Play榜单APP冷启动速度分析报告》 :作者通过对Google Play商店中排名前100名APP的启动速度进行测量,得出了这份Google Play榜单APP冷启动速度分析报告。