【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");
        }
    };
相关推荐
Cobyte7 小时前
21.Vue Vapor 组件的实现原理
前端·javascript·vue.js
铁皮饭盒7 小时前
Rust版Bun1.4之前, 盘点Bun1.3新特性
前端·javascript·后端
晓得迷路了7 小时前
栗子前端技术周刊第 135 期 - Vite 8.1、Rspack 2.1、Babel 8.0...
前端·javascript·vite
三少爷的鞋8 小时前
Main-safe:现代Android 架构真正的分水岭
android
To_OC16 小时前
LC 207 课程表:刚学图论那会儿,我连这是拓扑排序都没看出来
javascript·算法·leetcode
To_OC16 小时前
LC 208 实现 Trie 前缀树:曾被名字劝退,写完发现是送分题
javascript·算法·leetcode
沐怡旸16 小时前
深入解析 Android Performance Analyzer (APA) 底层架构与技术原理
android
天渺工作室17 小时前
实现一个adblock/adblock plus等浏览器广告拦截器检测插件
前端·javascript
吃饱了得干活1 天前
Spring Cloud Gateway 微服务网关:路由、断言、过滤器
java·spring cloud
李斯维1 天前
从历史的角度看 Android 软件架构
android·架构·android jetpack