【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");
        }
    };
相关推荐
one_love_zfl10 小时前
java面试-微服务组件篇
java·微服务·面试
一只大袋鼠10 小时前
Java进阶:CGLIB动态代理解析
java·开发语言
环流_10 小时前
HTTP 协议的基本格式
java·网络协议·http
爱滑雪的码农10 小时前
Java基础十三:Java中的继承、重写(Override)与重载(Overload)详解
java·开发语言
【 】42310 小时前
C++&STL(Standard Template Library,标准模板库)
java·开发语言·c++
茉莉玫瑰花茶10 小时前
LangChain 核心组件 [ 2 ]
java·数据库·langchain
信徒_10 小时前
ID 生成技术选型
java
a8a30210 小时前
Laravel8.x新特性全解析
java·spring boot·后端
XiYang-DING11 小时前
【Java EE】CAS(Compare And Swap)
java·开发语言·java-ee
白露与泡影11 小时前
Spring Boot 完整流程
java·spring boot·后端