【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");
        }
    };
相关推荐
Rain的Java大神之路7 小时前
如何避免订单重复提交
java·redis·后端·面试·架构·rabbitmq·rocketmq
恋猫de小郭7 小时前
超好用 R8 Configuration Analyzer, 优化你的 App 大小和内存
android·前端·flutter
又见情义7 小时前
Android 13 系统应用裁剪:RK3568平台下的精简之道
android
苦瓜花7 小时前
【Android】LiveData
android
ps酷教程7 小时前
解析自定义数据
java
wuminyu7 小时前
JDK21中FFM api的upcall回调机制解析
java·linux·c语言·jvm·c++
格林威7 小时前
C#图像处理:使用imagemagick实现像素放大水印转换等多种功能
android·开发语言·图像处理·人工智能·计算机视觉·c#·视觉检测
桦说编程7 小时前
深入理解 FutureTask 状态机——从契约到实现
java·后端·性能优化
松仔log8 小时前
Kotlin中级——协程
java·jvm·kotlin