【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");
        }
    };
相关推荐
AI人工智能+电脑小能手4 分钟前
【大白话说Java面试题 第69题】【JVM篇】第29题:GC Roots 有哪些?
java·开发语言·jvm·面试
William Dawson8 分钟前
【通俗易懂!Spring四大核心注解源码解读:@Configuration、@ComponentScan、@Import、@EnableXXX实战】
java·后端·spring
Tigshop开源商城18 分钟前
Tigshop 开源商城系统 JAVA v5.8.28 版本发布|『角色权限管理+店铺后台跳转逻辑』优化
java·开源商城系统·tigshop
彦为君22 分钟前
JavaSE-10-并发编程(11个案例)
java·开发语言·python·ai·nio
石山代码23 分钟前
java前景
java·开发语言
川冰ICE25 分钟前
TypeScript装饰器与元编程实战
前端·javascript·typescript
AI砖家37 分钟前
Vue3组件传参大全,各种传参方式的对比
前端·javascript·vue.js
希望永不加班37 分钟前
var局部变量类型推断的利弊
java·服务器·前端·javascript·html
小二·1 小时前
LangGraph 多智能体实战:从零搭建 Multi-Agent 协作系统
java·开发语言·数据库
Yeats_Liao1 小时前
物联网接入层技术剖析(三):epoll在JVM中的映射
java·linux·jvm·人工智能·物联网