【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");
        }
    };
相关推荐
weedsfly20 小时前
前端必知必会:从 IIFE 到 ESM,模块化到底在解决什么?
前端·javascript
渣波20 小时前
拒绝 SQL 焦虑!手把手带你用 NestJS + Prisma + DTO 写出“防弹”级后端代码
javascript·数据库·后端
槑有老呆20 小时前
每次跟大模型聊天,都是一次「失忆」的 HTTP 请求
javascript
笨鸟飞不快20 小时前
从单个服务到集群:一次完整的性能排查复盘
java·前端
sarasuki20 小时前
彻底搞懂JS闭包:从作用域链、形成条件到优缺点
javascript
糖拌西瓜皮20 小时前
TypeScript 进阶:泛型、条件类型、类型守卫与装饰器
javascript·node.js
荣码20 小时前
用Streamlit给AI应用套个界面,10行代码出Web页面
java·python
SamDeepThinking20 小时前
Java微服务练习方式
java·后端·微服务
黄林晴21 小时前
用了这么久 Koin Scope,原来一直都用错了?
android·kotlin
朦胧之1 天前
AI 编程-老项目改造篇
java·前端·后端