开工福利|免费学 2200+ 精品线上课,企业成员人人可得! 了解详情
写点什么

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

  • 2015-07-27
  • 本文字数:2238 字

    阅读完需:约 7 分钟

新闻

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

2015-07-27 08:493824
用户头像

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

关注

评论

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

微信逆向之朋友圈,2021最新Android大厂面试真题大全

android 程序员 移动开发

怎样才是刷面试题的正确姿势?Android400道面试题+通关知识宝典助你进大厂

android 程序员 移动开发

成功逆袭:越来越胖怎么能忍,我的APK瘦身之路,完整版开放免费下载

android 程序员 移动开发

我们来剖析一下这个Android猴子的面试过程,以及被问到的问题(1)

android 程序员 移动开发

微博热门清华学霸的计划表刷屏,程序员该如何制定你的学习计划?

android 程序员 移动开发

想掌握Android面试官必问的-Binder-机制?那别想绕开-Binder-驱动源码分析!

android 程序员 移动开发

成为一个优秀的Android开发者,需要必备哪些技术&工作技能?

android 程序员 移动开发

我是如何做到在-5-分钟之内将应用大小减少-60%-的?,零基础学android编程

android 程序员 移动开发

我来告诉你:零基础如何成为高级Android开发,入职字节跳动

android 程序员 移动开发

当面试官要你说一下Activity的启动模式时,怎么回答最合适?标准答案在这里

android 程序员 移动开发

往事只能回味!春招 Android 开发岗:我居然三天就拿到了offer

android 程序员 移动开发

总结了30个例子之后,我悟到了Flutter的布局原理,android移动开发基础答案

android 程序员 移动开发

想掌握Android面试官必问的 Binder 机制?那别想绕开 Binder 驱动源码分析!

android 程序员 移动开发

我学习Android的一些套路,这份333页关于性能优化知识点的PDF你不能不看

android 程序员 移动开发

彻底理解Android架构,移动应用开发就业工资

android 程序员 移动开发

想搞懂Jetpack架构可以不搞懂生命周期知识吗?,阿里Android面试必问

android 程序员 移动开发

微信小程序之加载更多(分页加载)实例 ,flutter瀑布流列表

android 程序员 移动开发

微信小程序之商品属性分类 —— 微信小程序实战商城系列

android 程序员 移动开发

当事人:现在就是非常后悔,开工那天没去上班,Flutter中网络图片加载和缓存源码分析

android 程序员 移动开发

惨遭社会毒打,公司倒闭突然失业,程序员该如何在下次危机对准时狠狠还击

android 程序员 移动开发

我又开发了一个非常好用的开源库,调试Android数据库有救了 (1)

android 程序员 移动开发

我又开发了一个非常好用的开源库,调试Android数据库有救了

android 程序员 移动开发

当你面试的时候,被问到关于Fragment的种种,5年经验Android程序员面试27天

android 程序员 移动开发

怎样让你更快的完成工作去“摸鱼”,我的Android美团求职之路

android 程序员 移动开发

想进阶高级架构师,你需要养成这10个习惯!,掌握这套精编Android高级面试题解析

android 程序员 移动开发

我想谈谈关于-Android-面试那些事,写给有开发经验的你们

android 程序员 移动开发

我敢打赌!你从未见过如此简单的Dagger-导航---基于-Android-Studio-4-1

android 程序员 移动开发

性能优化,还得看AspectJ,android高级开发实战

android 程序员 移动开发

我们来剖析一下这个Android猴子的面试过程,以及被问到的问题

android 程序员 移动开发

我才知道原来Flutter内置了10多种Button控件,音视频开发工程师抖音

android 程序员 移动开发

我的2020年终总结:疫情之下裸辞后的一些感悟和面试心得(上篇

android 程序员 移动开发

Android开发周报:Android M版本号确定、APK加固方案调研_移动_郭亮_InfoQ精选文章