Android 的架构依次有:
- MVC
- MVP
- MVVM
- MVI
- Clean Architecture
上述架构循序渐进,当前主流设计模式是 MVVM,MVI 和 Clean Architecture,这三者的着重点各有不同,可以根据项目规模大小递进选择。
Android 的架构依次有:
上述架构循序渐进,当前主流设计模式是 MVVM,MVI 和 Clean Architecture,这三者的着重点各有不同,可以根据项目规模大小递进选择。
Xfermode
是 Android 中用来指示Paint
绘制的内容与 View 中已有内容的混合计算方式,也就是用来确定图形绘制到目标图形的时候,如何处理两个图形重合部分的颜色变化。共 18 个,分为 Alpha 合成和混合两种。
设要绘制的图形为src
,已经绘制好的图形为dst
。
需要注意的是,这些图片除了要绘制的图形有着色之外,其他部分要为透明,并且包括透明区域在内的图片大小(宽高)要能完全覆盖另外一张图片的图形区域,否则绘制出的图形可能与预设的效果不一致
贝塞尔曲线是用节点和控制点绘制的高精度曲线,Android 中常用的有二阶、三阶贝塞尔曲线。本文介绍使用贝塞尔曲线绘制折线图,并实现动画效果。
日常开发中,常用的存储键值对的数据结构是HashMap
,根据Java 笔记之 HashMap 保存数据和Java 笔记之计算 Java 对象的大小及其应用可以知道,HashMap
存储键值对会占用比较多的内存控件,而对于内存限制较大的 Android 平台来说,为了避免这种浪费,官方推荐我们使用SpareArray
和ArrayMap
,本文对这两个类的实现进行分析比较。
当 APP 的 minSdkVersion 低于 Android 5 时,在方法数大于 65536 时,需要将 APP 打包为多个 DEX 文件,此时需要添加 MultiDex 依赖。
官方方法如下:
1.build.gradle
android {
defaultConfig {
...
minSdkVersion 15
targetSdkVersion 28
multiDexEnabled true
}
...
}
dependencies {
compile 'com.android.support:multidex:1.0.3'
}
本文是对张鸿洋的 OKHttp 辅助类okhttputils简要分析,以便学习如何封装常见工具的思想,建议配合源码食用。
主要涉及类:
Google 大法 NB!!!(破音)
Jetpack是 Google 推出的一系列 Android 软件集合,"使您可以更轻松地开发出色的 Android 应用。这些组件可帮助您遵循最佳做法、让您摆脱编写样板代码的工作并简化复杂任务,以便您将精力集中放在所需的代码上"。