【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");
        }
    };
相关推荐
天河归来1 天前
第三方接口不稳定,如何让核心任务继续完成
java·大数据
好的佩奇1 天前
蓝牙之通信架构
android·flutter·蓝牙
FlightYe1 天前
视界原理之3D视频(四):裸眼、眼镜和头显
android·linux·c++·3d·ffmpeg·音视频
Knight_AL1 天前
Java 文件下载时文件名中的 `#` 被转换成 `%23`?一次 URL 编码与解码问题排查
java·开发语言
幸运小猿1 天前
模拟慢上传-处理超时重试image 丢失线上问题
前端·javascript·html
诸神黄昏EX1 天前
Android fw BatteryService
android
alexhilton1 天前
提升 Android Compose 页面的流畅度
android·kotlin·android jetpack
砚底藏山河1 天前
python量化自定义周期 K 线合成
java·开发语言·数据库·python·金融
猿究院_夏燊1 天前
MySQL 的四种隔离级别
java·数据库·mysql
码流子1 天前
移动收费怎么做?手持终端+App+收费中心的架构实践
java·开发语言·架构