10 月 23 - 25 日,QCon 上海站即将召开,现在购票,享9折优惠 了解详情
写点什么

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

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

关注

评论

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

入门Python之后还是搞不定面试、做不来项目,推荐读读这本书

图灵教育

Python 编程 程序员

大数据培训-Hive高频面试题分享

@零度

hive 大数据开发

招聘 | 多家区块链项目招募开发者!

One Block Community

区块链 招聘 波卡

TiDB 6.0 发版:向企业级云数据库迈进

PingCAP

3分钟了解Vue开发小程序的技术原理

FinClip

深度学习,如何选择GPU服务器?

Finovy Cloud

人工智能 深度学习 GPU服务器

Redis Stream 专为队列而生,别再用 List 实现队列了

码哥字节

Redis Stream Redis 数据结构 4月月更

基于云服务器ECS搭建网页游戏《浪剑天下》

阿里云弹性计算

玩转ECS 游戏服务器

OneBlock | 区块链人才聚集地,面向全球的Substrate 开发者社区

One Block Community

技术社区 #区块链#

Pulsar—新一代云原生消息平台

中原银行

分布式 pulsar 中原银行 分布式消息

web前端培训-ES6 教程:全面了解 ES6 模块

@零度

前端 ES6

写作社区 2 周年,全员狂欢燥起来!

InfoQ写作社区官方

热门活动 InfoQ写作社区2周年

如何在云端重塑内容生产?来看这场虚拟人主持的发布会

阿里云CloudImagine

阿里云 音视频 视频剪辑 智能生产 视频云

恒源云(Gpushare)_新功能上线,你确定不进来看看?

恒源云

GPU服务器 GPU算力

真的是最全的一致性hash环讲解了

Java工程师

Java 架构 分布式 算法 hash

领域驱动设计(DDD)理论与方法

Java工程师

Java 程序员 互联网 DDD 架构设计

CityClub 北京站马上开始!线下沙龙等你来!

InfoQ写作社区官方

热门活动

Java培训-怎样通过 Bucket4j 提供速率限制

@零度

JAVA开发 Bucket4j

MacOS 系统如何把PHP版本升级到 7.4或者更高的版本呢,今天教程来啦

CRMEB

解决两大难题,TDengine 助力亿咖通打造自动驾驶技术典范

TDengine

数据库 tdengine 物联网

EMQ 映云科技 & 阿里云推出“一站式工业数字化解决方案”,共建产业数据湖生态圈

EMQ映云科技

阿里云 开源 物联网 IoT emq

2022年3月国产数据库大事记-墨天轮

墨天轮

数据库 TiDB 国产数据库 KingBase gbase8a

FinClip 与 uniapp:轻应用平台与前端开发框架

FinClip

CESS:波卡生态去中心化数据存储的未来

One Block Community

区块链 云存储 去中心化存储 CESS

波卡动态 | Moonbeam 上第一个3D NFT项目宣布合作

One Block Community

区块链 以太坊 polkadot 波卡 Moonbeam

Moonbeam 漏洞赏金计划,最高奖金 100 万美金!

One Block Community

区块链 波卡 Moonbeam

幸运哈希值竞猜游戏系统开发方案

薇電13242772558

区块链 哈希值

一文搞懂Netty发送数据全流程 | 你想知道的细节全在这里

bin的技术小屋

网络编程 Netty Java’ 4月月更 Reactor多线程

能让程序员涨薪5K的Hystrix核心工作原理,你真的不打算学吗?

Java工程师

Java 程序员 互联网 微服务 科技

运维人必知必会的Zabbix核心命令

博文视点Broadview

低代码平台常见的安全隐患,J2PaaS低代码平台如何解决?

J2PaaS低代码平台

低代码开发 低代码平台 企业级低代码平台 J2PaaS低代码平台

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