时隔16年Jeff Barr重返10.23-25 QCon上海站,带你看透AI如何重塑软件开发! 了解详情
写点什么

Android 开发周报:Android 厂商寒冬将至、Android 内存申请分析

  • 2016-07-19
  • 本文字数:1389 字

    阅读完需:约 5 分钟

  1. 《不要再给 MVP 中的 Presenter 写接口了》:几个月前 Google 发布了一个官方 MVP 示例项目,在项目中,Google 首先写一个上帝接口 BasePresenter,然后在每个功能模块里都写了协议类名为某某 Contract,在其中封装了模块下的 View 接口和 Presenter 接口。这种管理方式的好处是,将 View 和 Presenter 管理起来,强化其一一对应的关系,便于操作。不论是否以协议类的方式呈现,现在开发者喜欢让 Presenter 继承接口。而本文观点正好相反,本文的观点不一定正确,但希望能引起你对这个问题的思考。
  2. 《Android 内存申请分析》:在做优化的过程,除了关注内存的申请量以及 GC 的情况之外,我们经常需要想方法找出是那些对象占用了大量内存,以及他们是如何导致 GC 的,这意味着我们需要获取对象申请的信息(大小,类型,堆栈等),本文为我们介绍了几种获取对象申请信息的方法。
  3. 《为什么 Android 开发者应该使用 FlatBuffers 替代 JSON?》:你可能会问,既然我们已经有很标准的 JSON 以及转换库比如 GSON 和 Jackson,为什么还要使用新的工具呢?不妨先试一下 FlatBuffers,然后你就会发现它比 JSON 快得多。FlatBuffers 是一个高效的跨平台序列化类库,可以在 C++、C#、C、Go、Java、JavaScript、PHP 和 Python 中使用。是 Google 开发的,是为了应用在游戏开发,以及其他注重性能的应用上。
  4. 《Unity Android Plugin 开发指南》:本文为我们介绍了如何在 Unity 工程中使用 Android 或者 Java 的库,包括:如何在 Unity 项目中使用 Android Plugin、Unity-Android 相互调用、Unity 接口设计的最佳实践、如何构建 Unity-Android 混合项目、如何调试 Unity 和 Android 代码。本文有助于我们上手 Unity。
  5. 《安卓单元测试 (八):Junit Rule 的使用》:一个 JUnit Rule 就是一个实现了 TestRule 的类,这些类的作用类似于 @Before、@After,是用来在每个测试方法的执行前后执行一些代码的一个方法。此外,JUnit Rule 还能做一些 @Before 这些 Annotation 做不到的事情,那就是他们可以动态的获取将要运行的测试类、测试方法的信息。阅读文章,了解 Junit Rule 的更多细节。
  6. 《Google I/O 2016 笔记:APK 瘦身的正确姿势》:业务逻辑不断累积、引入的第三方 SDK 不断增加以及图片资源不变变大,APK 瘦身已经是每个 Android 应用开发者不得不考虑的问题了。坊间流传的各种瘦身方法有些切实可行,有的却流毒甚广。本文为我们总结了 2016 Google I/O 大会上提到的瘦身技术。
  7. 《Android Vector 曲折的兼容之路》:Android 5.0 发布的时候,Google 提供了 Vector 的支持。Vector Drawable 相对于普通的 Drawable 来说,好处很多,比如:可以自动进行适配、大幅减少图像的体积、使用简单,很多设计工具支持、成熟、稳定,前端已经非常广泛的进行使用了。本文详细介绍了 Vector 的兼容之路,并讲解了 Vector 的使用方法。
  8. 《深度理解 Android InstantRun 原理以及源码分析》:Instant Run 是 Android Studio2.0 以后新增的一个运行机制,能够显著减少你第二次及以后的构建和部署时间。简单通俗的解释就是,当你在 Android Studio 中改了你的代码,Instant Run 可以很快的让你看到你修改的效果。而在没有 Instant Run 之前,你的一个小小的修改,都肯能需要几十秒甚至更长的等待才能看到修改后的效果本文详细深度介绍了 Android InstantRun 原理并且结合其源码分析了实现细节。本文有助于我们扩张插件化的思路。
2016-07-19 19:005302
用户头像

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

关注

评论

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

Vue整合HighCharts和ECharts实现数据可视化

闫同学

Vue 前端 10月月更

训练实战营模块二

Geek_408c99

大数据ELK(二十七):数据可视化(Visualize)

Lansonli

10月月更 Visualize

新书上市|豆瓣8.6,首部全面披露中国游戏发展史的奇书!

图灵教育

游戏

架构实战营 - 模块二作业

Geek_92ba6f

架构设计 微信朋友圈

Kafka消费客户端协调器讲解(GroupCoordinator)

石臻臻的杂货铺

kafka 10月月更

「趣学前端」玩转CSS的2D转换,也许能有个代码纸片人

叶一一

CSS 前端 10月月更

Go RPC入门指南:RPC的使用边界在哪里?如何实现跨语言调用?

王中阳Go

php Go RPC RPC框架 10月月更

【Go实现】实践GoF的23种设计模式:代理模式

元闰子

Go 设计模式 代理模式

打造安全的Open RAN

俞凡

架构 安全 OpenRAN

一文搞懂CAN FD总线协议帧格式

不脱发的程序猿

汽车电子 CAN FD 一文搞懂CAN FD总线

致MonoCats社群的一封信:邀请您与我们在以太坊开启新篇章

股市老人

「趣学前端」开耍CSS的3D转换,不会玩滑板但能画滑板

叶一一

CSS 前端 10月月更

架构师的十八般武艺:后记

agnostic

架构师

Smart Finance:熊市下,GameFi P2E热潮仍能得到延续

股市老人

如何使用 CSS 提高页面性能?

CoderBin

CSS 面试 前端 优化 10月月更

架构实战训练营模块2-朋友圈复杂度分析

阿姆斯壮

#架构实战营 架构实战训练营9期

Kafka监控与指标之UnderReplicatedPartitions

石臻臻的杂货铺

Kafk 10月月更

什么时候用Goroutine?什么时候用Channel?

王中阳Go

Go 并发 channel goroutine 10月月更

Java基础(七)| 类、对象、封装和构造详解

timerring

Java 对象 封装 构造 10月月更

【愚公系列】2022年10月 Go教学课程 030-结构体继承

愚公搬代码

10月月更

元宇宙早已注定毁灭?《雪崩》中预言的末日病毒

脑极体

雪崩

微信朋友圈高性能复杂度分析

兜里贼缺钱

面试突击90:过滤器和拦截器有什么区别?

王磊

架构师的十八般武艺:架构治理

agnostic

架构治理

新书上市|豆瓣8.6,首部全面披露中国游戏发展史的奇书!

图灵社区

【从0到1学算法】6.Select Sort算法

Geek_65222d

10月月更

TSDB在高速公路大数据平台的应用

CnosDB

IoT 时序数据库 开源社区 CnosDB infra

Spring Boot「07」Loading initial data 02

Samson

Java spring Spring Boot 学习笔记 10月月更

Android开发周报:Android厂商寒冬将至、Android内存申请分析_移动_郭亮_InfoQ精选文章