外观
SDK 初始化与释放如何保证可靠?
标准回答
初始化尽量轻量、显式且幂等;明确进程和实例作用域,避免重复初始化创建多份线程、连接和监听。释放时先禁止新操作,再结束当前会话和待完成请求,取消任务、注销监听、关闭连接,最后按约定释放自有执行资源。
机制解释
幂等是重复调用不会产生额外的错误副作用,不代表可以忽略配置冲突。若第二次 init 的参数与第一次不一致,应明确拒绝或按受支持方式重配。共享线程池与宿主传入资源不能被 SDK 随意关闭。
延伸追问
多进程应用中单例还只有一份吗?通常每个进程各有一份。要确认哪些进程需要初始化,必要时把服务边界设计清楚。用户切换、账号切换与设备切换也要隔离相应会话状态。
内容来源
- Android 智能硬件 SDK 技术 Wiki · 原条目
Q52