写点什么

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:493916
用户头像

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

关注

评论

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

高性能云网关,打通云内外业务互通的任督二脉

华为云开发者联盟

网关 云平台 华为云Stack 云网关 L2BR/L3G

带你了解几种二进制代码相似度比较技术

华为云开发者联盟

二进制 源代码 二进制代码 二进制代码比较 安全审计

云服务器ECS年终特惠,老用户新购优惠低至4折

阿里云弹性计算

云服务器 年终特惠

MySQL数据库升级后如何防止性能下降

@零度

MySQL

从0开始学VUE - 踩坑记录

恒生LIGHT云社区

JavaScript Vue 前端

给弟弟的信第14封|人到年纪,自己就是屋檐

大菠萝

28天写作

一文带你从零认识什么是XLA

华为云开发者联盟

深度学习 tensorflow PyTorch 深度学习编译器 XLA

中科柏诚本地生活赋能金融机构应对内卷危机

联营汇聚

面向WEB开发的Docker(三):安装Docker

devpoint

Docker 12月日更

Go 语言快速入门指南:第六篇 与数据为舞之映射

宇宙之一粟

哈希表 字典 映射 签约计划第二季 12月日更

Android技术分享| 【自习室】自定义View代替通知动画(完)

anyRTC开发者

android 音视频 WebRTC 视频通话 自定义view

资本巨头纷纷入局,DAO究竟有何魔力?

旺链科技

区块链 组织 DAO

养孩子到底有多难?

Tiger

28天写作

React进阶(六):组件生命周期

No Silver Bullet

React 生命周期管理 12月日更

让数据大白于天下:GCC插件实现代码分析和安全审计

华为云开发者联盟

数据结构 安全审计 GCC 代码分析 安全分析

医疗的客户体验

张老蔫

28天写作

百度搜索中台海量数据管理的云原生和智能化实践

百度Geek说

架构 云原生 后端 百度搜索

大数据之面试篇之Hadoop/HDFS/Yarn

@零度

大数据 面试题

尚硅谷微信支付实战教程发布!

@零度

微信支付

实用机器学习笔记十五:卷积神经网络

打工人!

深度学习 算法 学习笔记 卷积神经网络 12月日更

io_uring vs epoll ,谁在网络编程领域更胜一筹?

OpenAnolis小助手

网络编程

Java 泛型通配符详解

编程江湖

JAVA开发 java编程

带你尝鲜LiteOS 组件EasyFlash

华为云开发者联盟

LiteOS 组件 EasyFlash 嵌入式闪存库 Flash

跳出问题限制来解决问题-cacerts证书库的证书丢失的解决

superman

跳出问题解决问题 命题似解决 cacerts证书库

0 基础实现简单的Kotlin ListView

阿策小和尚

28天写作 Android 小菜鸟 12月日更

Linux学习教程从入门到精通:条件判断和流程控制语句If

侠盗安全

Linux 运维 运维工程师 云计算架构师

红颜更胜儿郎 | 尚硅谷微信支付实战教程发布

编程江湖

前端教程 微信支付开发

一本用户体验时代的产品生存指南!

博文视点Broadview

【LeetCode】把二叉搜索树转换为累加树Java题解

Albert

算法 LeetCode 12月日更

以 Kubernetes 的方式来安装运行极狐GitLab Runner

极狐GitLab

Kubernetes runner 极狐GitLab

常用邮箱申请渠道【小程序专题2】

坚果

小程序 28天写作 12月日更 邮箱

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