【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");
        }
    };
相关推荐
2601_962189605 分钟前
【SpringCloud】Gateway
java·spring cloud·gateway
夜郎king7 分钟前
基于Java的高德地图公交路线检索服务集成实践
java·智慧城市·高德地图api·县域交通智能化
Java小白笔记7 分钟前
Java中fixedDealy和fixedRate的区别是什么?
java·开发语言
firstacui10 分钟前
Mysql调优
android·mysql·adb
单线程1213811 分钟前
从案例分析 Vue3 Tokenizer 源码二
前端·javascript·vue.js
@兽血沸腾12 分钟前
Thread线程和synchronized锁
java·开发语言
程序员-Benothing14 分钟前
什么是 MySQL 的主从同步机制?它是如何实现的?
android·数据库·mysql
Android打工人15 分钟前
c++ 、java 融为一体2,c++ 实例化Android虚拟机直接运行java,c,java 一个进程号
android·java·c++
单线程_0120 分钟前
从案例分析 Vue3 Tokenizer 源码二
前端·javascript·vue.js
2601_9620566022 分钟前
Spring Boot——日志介绍和配置
java·数据库·spring boot