学习排期

547 阅读4分钟

因为字符可以按 int 值来计算,i数值就是 ASC 码的值,+1,就可以从 A-Z 了,小写一样的

文档编写

项目描述文档编写可以参考 Github 上大神的写的,真的太标准了

  1. 换主题、换皮肤一般都是怎么做的,独立维护使用
  • values 中定义多套
  • setColor 要注意不能闪烁,闪烁就是页面被重建了

把换肤写到 BaseActivity 中是错误的,耦合度太高了,不能再拆分了,应该做到几行代码轻松集成使用

SkinManage.getInstance().loasSDK("sdcard/xxx.skin")

hook 源码/插件化的方案,AssetManage.setAssetPath

把皮肤做成插件动态下发有很大好处的,至少 APK 瘦身这块就很吸引人,皮肤和 apk 分离的结构

知道和字节码替换的区别

  1. xml 解析的过程
  2. 插件化使用
  3. 独立模块的编写
  4. 颜色,字号,背景

UI 部分

1. 新的绘制方式

Android 传统的 XML 绘制布局的局面终于出现突破了 Litho - Facebook / compose - Google 脱离原生 ViewSystem,直接使用 Canvas 绘制

2. 近年来推出的全新 XML 绘制 Layout

ConstraintLayout 中的xml动画MotionLayout

从 ConstraintLayout 开始,Layout和动画的结合方式变化很大,往H5编写方式上考。 ConstraintLayout、MotionLayout 中都可以直接写xml动画,这个必须要彻底学一遍了

3. tools

这个之前没看全,有时间看看

4.

琼珶和予_同学的CoordinatorLayout和recycleview

5. MD

6. clip-path 作用和使用范围~

clip-path 和元素的层叠和控制吗,主要是用来绘制蒙版的,例子有:赛博朋克2077官网的按钮

思路来源:赛博朋克 2077 官网按钮色差故障实现原理

使用 before、after 来绘制复杂的阴影和偏移,after 绘制表层图形,before 绘制底层阴影,然后对 before 进行右侧偏移即可

Gradle

2. Gradle 构建工具结合编译时技术

NDK

  • NDK入门介绍

    • Zfccc 同学的文章里概念介绍的很全面,很好理解,很适合入门

Framwork 学习

wildma 同学的源码分析

潇风寒月同学的死磕系统

Android高级架构同学的一堆 copy 过来的文章,虽然不是他自己的,但是质量都不错

大头呆同学的文章

面试

面试看框架看这2人的

下面资料都是面试题:

组件化的部分:

Maven

黑科技

注解

AOP/APT/IOC 这些有个兄弟写的挺全的

插件化

音视频