【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");
        }
    };
相关推荐
学者猫头鹰25 分钟前
分布式事务实战教程
java·分布式
程序员码歌30 分钟前
我全程用 AI开发了一款微信小游戏,上线了
android·前端·游戏开发
FogLetter34 分钟前
当JavaScript学会“分身术”:异步编程的进化简史
前端·javascript·面试
java1234_小锋1 小时前
Vue3+Vite简介以及构建第一个HelloWorld实例
前端·javascript·vue.js·vite
heimeiyingwang1 小时前
【架构实战】Kubernetes调度器深度剖析:从Pod调度到自定义调度器
java·架构·kubernetes
黄林晴1 小时前
你敢信吗?同样是跨端,KMP 跟 RN 居然差这么多!
android·前端
天天鸭3 小时前
5 万处中文的老项目实现国际化,如何用架构思维完成改造?
前端·javascript·架构
zbmwa3 小时前
jetpack compose 副作用 produceState
android
纳兰青华3 小时前
回文侦探:三种境界破解最长回文子串
java·算法·动态规划
hunterandroid4 小时前
Android 后台任务可靠性排查:从 WorkManager 观测到失败重试闭环
android·前端