【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");
        }
    };
相关推荐
张元清24 分钟前
React useLatest Hook:在异步回调里读到最新状态 (2026)
javascript·react.js
淡淡的香烟26 分钟前
Android视频直播播放器简单封装
android·物联网·音视频
counting money35 分钟前
Spring AI Alibaba 从入门到实战:构建企业级 AI 应用
java·人工智能·spring
爱笑鱼39 分钟前
Android 系统启动机制导读:从 init 到 system_server,谁创建谁?
android
爱笑鱼1 小时前
Android 系统启动机制(一):init 到底是什么?为什么它不是普通 Native Service?
android
原野池予1 小时前
深入Java集合框架:数组与List互转底层原理剖析(JDK 8)
java·数据结构·list
必须会一定会1 小时前
GLM-5.3 迁移实战:强制思考、1M 上下文与官方编程基准
android·开发语言·kotlin
Asize1 小时前
为什么写代码前要先规划组件树?Next.js + Redis 笔记系统实战
前端·javascript·next.js
Java成神之路-1 小时前
深入理解 HashMap 扩容时机:JDK 7 vs JDK 8 的设计差异与取舍
java·juc
李冰然1 小时前
深入Java集合框架:数组与List互转底层原理剖析(JDK 8)
java