先说结论吧 RecycleView有4级缓存 1.Attached scrap & Changed scrap屏幕中的缓存,用于数据刷新时,不需要重新加载子ItemView,...
先说结论吧 RecycleView有4级缓存 1.Attached scrap & Changed scrap屏幕中的缓存,用于数据刷新时,不需要重新加载子ItemView,...
大佬分析的牛逼,茅塞顿开
RecycleView 复用之一先说结论吧 RecycleView有4级缓存 1.Attached scrap & Changed scrap屏幕中的缓存,用于数据刷新时,不需要重新加载子ItemView,...
PermissionJ 使用Aspect实现的面向切面进行Android动态权限申请Github[https://github.com/Archer1347/Permissi...
Android Studio打开profile崩溃解决方案[https://blog.csdn.net/qq_42047018/article/details/1228418...
怎么解决
LeakCanary检测内存泄露案例分析LeakCanary[https://square.github.io/leakcanary/] 集成方式 新版的集成方式相对于老版本更加方便。直接依赖就可以了,详见官网 泄...
AIDL是Android中IPC方式中的一种。 AIDL的使用 创建aidl后缀的文件,服务端和客户端各保存一份,包名路径必须一致 创建远端服务 客户端绑定服务 AIDL生成...
可以使用DiffUtil做局部刷新
使用DataBinding在RecyclerView中数据刷新时出现界面闪烁问题描述:项目中使用RecycleView作为数据展示列表,并使用DataBinding做RecycleView的数据绑定,当ObservableList发生变化时,会先用O...
说的有道理
单例模式,你真的写对了吗?看公司代码的时候发现项目中单例模式应用挺多的,并且发现的两处单例模式用的还是不同的方式实现的,那么单例模式到底有几种写法呢?单例模式看似很简单,但是实际写起来却问题多多 本文...
Android模块化页面跳转SchemeGithub[https://github.com/Archer1347/SchemeDemo] SchemeDemo 通过注解实现U...
Android模块化通信协议ProtocolGithub[https://github.com/Archer1347/Protocol] 原理:1、通过注解+APT将接口类与...
----
这里没有理解清楚是如何获取wms
该方法里面可以看到如果传入的 wm 为空则将其重新赋值。这里其实是获取了 WindowManagerService 的代理,因为 WindowManagerService 和 Activity 所在的应用不在一个进程里,这里是通过 Binder 通信获取的一个 WindowManagerService 代理。获取完 WindowManagerService 代理后通过它来创建出一个真正要用的 WindowManager 并赋值。
---
个人理解:
1.这里获取的并不是wms的代理,获取的是所有Window的顶层窗口管理器,wm是本地的Window管理器,用于与wms进行通信,并非wms的代理
可以查看ContextImpl,通过SystemServiceRegistry.getSystemService获取了全局wm
2.wm将所有操作委托给WindowManagerGlobal来完成,而WindowManagerGlobal通过获取wms的代理来操作Window
public static IWindowManager getWindowManagerService() {
sWindowManagerService = IWindowManager.Stub.asInterface(
ServiceManager.getService("window"));
....
return sWindowManagerService;
}
具体参考:https://www.jianshu.com/p/28f116839a9d
1.Window WindowManager WindowManagerService启动一个ActivitystartActivity最终会走到ActivityThread的performLaunchActivity这个函数里面会经过层层深入会调用 Acti...
感谢支持
SharedPreference与MMKVSharedPreference 数据格式 XML格式保存,使用Pull解析 初始化 创建SharedPreferencesImpl时解析数据,子线程使用Java IO读取整...
写的真好
https://blog.csdn.net/v123411739/article/details/78996181/[https://blog.csdn.net/v12341...