【Android】乱七八糟的小结

1.死亡回调

java 复制代码
private final ServiceConnection connection = new ServiceConnection() {
        @Override
        public void onServiceConnected(ComponentName name, IBinder service) {
            logD("launcher aidl connected");
            iLauncher = ILauncher.Stub.asInterface(service);
            try {
                // 为Binder 对象设置死亡回调,当绑定的服务进程死亡时,会触发这个回调
                iLauncher.asBinder().linkToDeath(new IBinder.DeathRecipient() {
               		// 当绑定的服务进程死亡时,系统会调用这个方法
                    @Override
                    public void binderDied() {
                        Log.d(TAG,"[binderDied] retry bindService!");
                        // 然后将 iLauncher 置为 null,以释放对旧服务代理对象的引用
                        iLauncher = null;
                        // 最后调用 bindService() 方法,尝试重新绑定服务
                        bindService();
                    }
                },0);
            } catch (RemoteException e) {
                e.printStackTrace();
            }
        }

        @Override
        public void onServiceDisconnected(ComponentName name) {
            logD("launcher aidl disconnected");
        }
    };
相关推荐
Gracker8 小时前
AIW:从系统机制到性能排查,一本可以对照源码的 Android 电子书
android
三少爷的鞋8 小时前
代码越来越便宜,判断力越来越贵:AI 时代的 Android 架构与协程避坑指南
android
文丑颜不良啊9 小时前
LeetCode2761~2780题目解析
java·leetcode
johnjincaaaa9 小时前
猿人学第 18 题「jsvmp 洞察先机」逆向通关实录
javascript·后端
IT枫斗者枫哥10 小时前
子线程断言失败,JUnit 为什么还显示通过?
java·后端
Gracker10 小时前
SmartPerfetto 1.19.0:换过分析引擎之后,这次更新了什么
android
考虑考虑12 小时前
JDK27中的Set.ofLazy
java·后端·java ee
FungLeo12 小时前
成为全栈·Vue 管理后台篇·分类树与标签管理:层级数据如何落到管理界面
前端·javascript·vue.js·分类树·naive ui·标签管理·前端数据结构
文丑颜不良啊12 小时前
LeetCode2841~2860题目解析
java·leetcode
小南家的青蛙12 小时前
Tomcat与Jetty深度对比
java·tomcat·jetty