【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");
        }
    };
相关推荐
凤山老林11 小时前
04-Java JDK, JRE和JVM
java·开发语言·jvm
灵感__idea16 小时前
Hello 算法:贪心的世界
前端·javascript·算法
camellias_17 小时前
【无标题】
java·tomcat
薿夜17 小时前
SpringSecurity(三)
android
咸鱼2.017 小时前
【java入门到放弃】需要背诵
java·开发语言
椰猫子17 小时前
Java:异常(exception)
java·开发语言
win x18 小时前
Redis 使用~如何在Java中连接使用redis
java·数据库·redis
星晨雪海18 小时前
基于 @Resource 的支付 Service 多实现类完整示例
java·开发语言
阿维的博客日记19 小时前
什么是逃逸分析
java·juc
killerbasd19 小时前
牧苏苏传 我不装了 4/7
前端·javascript·vue.js