QCon 演讲火热征集中,快来分享技术实践与洞见! 了解详情
写点什么

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

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

关注

评论

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

通过 MSE 实现基于Apache APISIX的全链路灰度

阿里巴巴云原生

Apache 阿里云 微服务 云原生 灰度发布

C 语言入门(八)

逝缘~

7月月更

怎么学自动化测试

和牛

测试

快速构建企业级应用的开发平台

力软低代码开发平台

软件研发团队如何管理成员工时,科学分配资源?

万事ONES

企业遇到知识管理困境该怎么办?这里有解决方案!

Baklib

在互联网+的潮流中,企业客户服务该何去何从?

Baklib

互联网+ 客户服务

模块2作业

十分钟生成影视级室内设计效果,红星美凯龙设计云如何升级传统家居行业

阿里云弹性计算

gpu 智能家居 异构计算

不吹不黑JAVA Stream的collect用法与原理,远比你想象的更强大

程序员小毕

Java 程序员 程序人生 stream collect

模块七

Geek_2ce415

Vue3:显示markdown文档

空城机

markdown Vue3 7月月更

Mria+RLOG新架构下的EMQX 5.0如何实现1亿MQTT连接

EMQ映云科技

物联网 IoT mnesia emqx 7月月更

零基础可以自学web前端技术吗

小谷哥

2022年5月视频用户洞察:用户使用时长增长 平台降本增效初见成效

易观分析

视频行业

WhaleDI消息队列稳定性提升实践

鲸品堂

中间件

在web前端培训中怎么提升前端技术能力

小谷哥

字节跳动CVPR 2022多项目夺魁,获模拟人脑感知、长视频理解挑战双料冠军

字节跳动视频云技术团队

计算机视觉 图像处理 图片处理 视频理解 视频云

深入揭秘 epoll 是如何实现 IO 多路复用的

C++后台开发

网络编程 epoll IO多路复用 C++后台开发 C++开发

字节跳动数据质量动态探查及相关前端实现

字节跳动数据平台

字节跳动 数据监控 数据探查

万物皆可Cassandra:HUAWEI Tag背后的神仙数据库

华为云开发者联盟

数据库 后端

四个简单例子教你通过用户行为记录提高用户体验

观测云

不同学习方式的web前端程序员有什么区别

小谷哥

数字藏品加速破圈,助力产业发现新机遇

智捷云

NFT 区块链数字藏品 数字藏品 智捷云 智捷云科技

算法题每日一练---第1天:猴子分香蕉

知心宝贝

算法 前端 后端 云开发 7月月更

Redis 持久化 - RDB 源码详细分析|保姆级别分析!全网最全

领创集团Advance Intelligence Group

持久化 rdb redis 底层原理

如何使用IDEA数据库工具连接TDengine?

TDengine

数据库 tdengine 时序数据库

Kafka Topic Partition Offset 这一长串都是啥?

华为云开发者联盟

后端 华为云

零基础小白该如何选择web前端课程呢

小谷哥

web前端技术学习完后怎么找工作呢

小谷哥

面试官:你确定Redis是单线程的进程吗?

Java永远的神

Java redis 程序员 架构 面试

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