【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");
        }
    };
相关推荐
没有了遇见几秒前
DrawerLayout 滑动冲突
android
xphjj1 分钟前
树形数据模糊搜索
前端·javascript·算法
我的div丢了肿么办2 分钟前
HarmonyOS鸿蒙tabBar的详细讲解
前端·javascript·harmonyos
只在空想家3 分钟前
Servlet 体系结构
java·后端·servlet
ApiHug4 分钟前
ApiHug 1.3.9 支持 Spring 3.5.0 + Plugin 0.7.4 内置小插件升级!儿童节快乐!!!
java·后端·spring·api·apihug·apismart
北京_宏哥6 分钟前
🔥《刚刚问世》系列初窥篇-Java+Playwright自动化测试-17- 如何优雅地切换浏览器多窗口(详细教程)
java·前端·浏览器
异常君6 分钟前
深入理解 HashMap 的 get 方法工作原理
java·面试
异常君13 分钟前
JVM 新生代垃圾回收:避免全堆扫描的核心技术
java·jvm
用户05956611920915 分钟前
校招 java 基础面试题目及解析
java·面试
异常君16 分钟前
Windows 与 Linux 虚拟内存机制对比:设计理念与实现差异
java·linux·windows