教程
-
项目的代码量越来越大,引入的jar越来越多,由于Dalvik虚拟机作者当初对Method量的短视,最终造成了Dex方法数超标的悲剧。Google为此提供了MultiDex这一补丁方案。MultiDex分为两部分,一部分是编译时需要的IDE插件,它负责将单个的classes.dex拆分成多个dex文件;而另一部分则是编译进classes.dex的运行时环境,它将classes2.dex, classes3.dex…在运行时加载进来,从而拼合成完整的字节码。
-
EventBus 对于 Android 开发老司机来说肯定不会陌生,它是一个基于观察者模式的事件发布/订阅框架,开发者可以通过极少的代码去实现多个模块之间的通信,而不需要以层层传递接口的形式去单独构建通信桥梁。从而降低因多重回调导致的模块间强耦合,同时避免产生大量内部类。它拥有使用方便,性能高,接入成本低和支持多线程的优点,实乃模块解耦、代码重构必备良药。
-
从 Android 诞生的那一刻起,流畅度就为众人所关注。一时之间,似乎所有人都在讨论 Android 和 iOS 谁的流畅度更好。但是,毫不夸张的说,流畅度绝对是 Android 众多性能维度中最为奇葩的一个。因为,为了刻画这一性能维度,业界设计了各式各样的指标来对其进行衡量。可以说弄清了这些指标我们就明白了什么是流畅度,可是这似乎并不太容易。
-
最近在搞Android存储相关的业务,什么Internal/External/Primary/Secondary搞得我都看懵了,国内也没什么好的文章系统的讲这个,我就挖挖各类资料,整理一下。对于Internal Storage 与 External Storage,官方文档上有这么一段话,描述得很详细了,我翻译了一段下来:所有的Android设备都有两块存储区域:Internal Storage和External Storage。它们的名称来源于早期的Android系统,那时候大家的手机都内置(Permanent)一块较小存储板(即Internal Storage),并配上一个的外置的(Removable)储存卡(即External Storage)。
-
异常处理是程序开发中必不可少操作之一,但如何正确优雅的对异常进行处理确是一门学问,笔者根据自己的开发经验来谈一谈我是如何对异常进行处理的。由于本文只作一些经验之谈,不涉及到基础知识部分,如果读者对异常的概念还很模糊,请先查看基础知识。
-
很难想象现在的 APP 不会使用任何第三方库或者 SDK,毕竟大部分 APP 都会需要进行网络图片加载、闪退追踪、广告或者用户行为分析。这是很有意义的,开发者不应该在每次开发 APP 时都重复造轮子。然而很多第三方库和 SDK 都会导致 APP 启动变慢以及一些其他的性能问题。而这些性能问题通常都很难追踪分析,因为大部分开发者都对第三方库和 SDK 的实现细节了解很少,甚至完全没有了解。
-
开发一个高性能的小规模 APP 很简单,一旦涉及到数据缓存、JSON 解析、不可变对象、依赖注入以及一系列安卓 support 库时,保持 APP 的高性能就变得很有挑战性了。 幸运的是保持 APP 的高性能依然是有可能的,即便我们使用了 RxJava 进行响应式编程,不可变数据对象, Guava 集合,Optional,以及用 Dagger 进行依赖注入。
开源库&项目
-
FlexboxLayout is a library project which brings the similar capabilities of CSS Flexible Box Layout Module to Android.
-
navi
Adds listening capabilities to Activities and Fragments -
easydeviceinfo
一个可以很方便的获取一系列设备信息的库 -
用 Kotlin 实现的支持 Single choice、Multiple choice 和 Sections 的 RecyclerView
-
风扇效果的菜单
-
Tesela simplifies dealing with background threads and UI work in Model-View-Presenter
-
可以给View添加展开和关闭动画效果的库
-
An easy to use swiping-view for Android
-
轻量级显示Github用户的贡献、星数、Follower数、热门仓库的App
-
基于 ViewPager 实现的 cover flow 效果
-
Automatically manipulates the duration of animations dependent on view count
-
Awesome Audio Widget for any Android Music App
-
Easily create your company splash screen