BT

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

Android开发周报:Android M版本号确定、APK加固方案调研

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

新闻

  1. 《谷歌确认Android M系统版本号为5.20》:谷歌在今年的I/O大会上发布了Android M系统,新的系统虽然还没有应用在手机上面,但是已经有不少厂商对新系统感兴趣了。因为Android M具备很多新功能,在内存占用等问题上也得到了优化。不过一直没有确认的是这款新系统究竟是以什么样的名字或者版本号出现。最近谷歌自己曝光了这一点。
  2. 《Android应用下载量超过iOS平台,但收入远不及》:近日,数据分析App Annie发布统计数据,今年第二季度,Google Play应用下载数量比苹果App Store高出85%;今年第一季度时这一差距为70%。但在收入方面,App Store优势明显,高于Play商店70%。App Annie公司表示,由于众多廉价Android手机的推出,以及大量新用户,是Android应用下载量超出App Store的原因。
  3. 《安卓很受伤:Black Hat 2015黑客大会上将公布的6个移动安全威胁》:Black Hat 2015召开在即,国外媒体报道了即将由Black Hat USA公布的一些Android安全威胁。

教程

  1. 《Android运行时ART执行类方法的过程分析》: 在ART运行时中,类方法的执行方式有两种。一种是像Dalvik虚拟机一样,将其DEX字节码交给解释器执行;另一种则是直接将其本地机器指令交给CPU执行。在本文中,作者通过分析ART运行时执行类方法的过程,解释了ART运行时的运行原理。
  2. 《我对Android的理解》:不同级别的开发者对Android的理解是不一样的,初学者比较在意Api、SDK的使用,高手比较注重架构、编程思想。本文作者有多年Android开发经验,写该文的目的是为了和大家描述其对Android的理解。大家都想学好Android,那么怎么才能学好呢?阅读文章,看看别人是如何思考的。
  3. 《Android 基于Message的进程间通信 Messenger完全解析》:对于Android进程间通信,我们可以通过编写aidl文件来实现,当然还有一种方法是使用Messenger。使用Messenger的过程大致是这样的:客户端发送一个Message给服务端,服务端的handler中会接收到该消息,然后进行对应的处理,处理完成后,再将结果等数据封装成Message,发送给客户端,客户端的handler中会接收到处理的结果。最终就是基于Message的处理。查看原文,了解Messenger的具体使用。
  4. 《Android APK加固技术方案调研》:软件安全领域的攻防向来是道高一尺魔高一丈,攻防双方都处于不断的演变和进化过程中,因此软件加固技术需要长期持续的研究与投入。APK加固的原理是防止通过gdb、gcore从内存中截取dex文件和获取代码片段。我们可以使用成熟的第三方加密方案来加固自己的Apk。阅读文章,查看本文作者关于第三方加固解决方案、加固原理及App风险的调研。
  5. 《说说Android中的ANR》:有过Android开发经历的人都不会对ANR陌生,它和崩溃一样是程序设计的问题。本文以较为深入的视角介绍了什么是ANR,出现场景,如何避免以及如何定位分析ANR,希望对大家在编写程序时有所帮助。
  6. 《Android代码内存优化建议——OnTrimMemory优化》:OnTrimMemory回调是Android 4.0之后提供的一个API,这个API是提供给开发者的,它的主要作用是提示开发者在系统内存不足的时候,通过处理部分资源来释放内存,从而避免被Android系统杀死。这样应用在下一次启动的时候,速度就会比较快。本文通过问答的形式,从多个方面讲解了OnTrimMemory回调的使用过程和效果。
  7. 《Android异步任务处理框架AsyncTask源码分析》:在平时项目开发中难免会遇到异步耗时的任务(比如最常见的网络请求)。遇到这种问题,我们可以自己通过Handler+Message+Thread(ThreadPool)来构造一个异步耗时任务框架。当你下次又遇到一个网络请求,你又不得不重写异步耗时任务处理框架。出于避免开发者重复搬砖工作,Google工程师给开发者搭建了一个通用的异步耗时任务处理框架—-AsyncTask。本文详细分析了AsyncTask的原理。
  8. 《Android App优化知识图谱》:App优化是移动开发过程中非常重要的一个环节,我们在开发的过程中应时刻注意自己的代码是否为最佳方案。掌握常用的优化技术,可以帮助我们开发出高性能的App。本文提供了一张非常全面的思维导图,从Android性能、Java代码到UI设计等多个方面提供了非常好的优化建议,值得移动开发者收藏。

开源项目

  1. Android-dev-bookmarks:Android开发者的浏览器书签,包含Android开发者博客、在线学习资料、官方资料、工具资源、技术站点等等,Android开发者不要错过哟。
  2. Android-Download-Manager-Pro:多线程下载是一件比较繁琐的事情,使用第三方库可以帮助我们节约开发时间。该项目是一款Android/Java下载管理库,开发者可以很方便的集成到项目中。
  3. MusicPlayerView:该项目是一个音乐播放界面的实现,效果有些类似于网易音乐的播放页,提供进度条显示、封面旋转等功能。

工具

  1. Android DPI Calculator:Android不同屏幕分辨率下的DPI计算器,只需填入一种屏幕下的合适dp数值,其余屏幕自动计算生成。另外可以在Chrome应用商店中搜索DPI Calculator插件,直接安装在Chrome上。
  2. stf:STF是一个智能设备测试工具,使用STF可以通过浏览器控制多台设置。
  3. Android Studio使用技巧:本文是对Google+上一篇文章的翻译,介绍了一些实用的快捷操作。

感谢郭蕾对本文的审校。

给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