- 博客(5)
- 收藏
- 关注
原创 Android 组件通信中有哪些不为人知的细节?
在向AMS注册前,构造了IIntentReceiver 对象,该接口是AIDL声明的,也就是说向AMS注册了个回调接口,当AMS 接收到发送广播的请求后,发现是动态注册的,于是通过回调IIntentReceiver 接口的performReceive(xx)方法,进而调用BroadcastReceiver里的onReceive(xx)方法,貌似没有看到切换到主线程执行呢?可以看出,尽管Android 8.0前后获取IActivityManager 接口的方式不同,然而都要经历上面3个步骤。
2025-01-10 18:27:05
821
原创 Android 组件化场景下多module依赖优雅实践方案
相应的,使用方使用 仓库中的依赖项时,gradle会拉取其对应的pom文件,并添加依赖。当时,我们回到上面说的不人道主义之处,我们通过了with 函数,将A自身的依赖信息,注入到APP中。使用compileOnly方式的并没有被收录到pom文件中,而api和implementation 方式,在pom文件中,都表现为 采用compile的方案应用依赖。所以,如果我们直接使用一个编译好的静态包,而丢弃了他对应的pom文件时,可能会丢失依赖,出现打包失败或者运行异常。这是必须要解决的,当然,这很容易解决。
2025-01-10 18:23:24
1014
原创 Android 眼睛 显示隐藏密码(ImageView)_hidereturnstransformationmethod
【代码】Android 眼睛 显示隐藏密码(ImageView)_hidereturnstransformationmethod。
2025-01-10 18:19:43
868
原创 2024最新最全Java基础高频面试题汇总(1W字详细解析)
记住是有可能,而不是一定。简单来说,一个进程就是一个执行中的程序,它在计算机中一个指令接着一个指令地执行着,同时,每个进程还占有某些系统资源如 CPU 时间,内存空间,文件,输入输出设备的使用权等等。我们提供了泛指的概念,但具体执行的时候却可以有具体的规则来约束,比如我们用的非常多的ArrayList就是个泛型类,ArrayList作为集合可以存放各种元素,如Integer, String,自定义的各种类型等,但在我们使用的时候通过具体的规则来约束,如我们可以约束集合中只存放Integer类型的元素,如。
2025-01-10 03:04:07
480
原创 2024新鲜出炉的Android大厂面试题锦集(BAT TMD JD 小米),Github标星5K 建议收藏!
6.IPC的方式有:Bundle(在Intent启动的时候传入,不过是一次性的),文件共享(对于SharedPreference是特例,因为其在内存中会有缓存),使用Messenger(其底层用的也是AIDL,同理要操作哪端,就在哪端定义Messenger),AIDL,ContentProvider(在本进程中继承实现一个ContentProvider,在增删改查方法中调用本进程的SQLite,在其他进程中查询),Socket。同时如果像增加一个新生命周期方法的时候,只需要在接口中和代理中声明一下就行。
2025-01-10 02:56:45
356
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅