AppCompatActivity
如果没有实现任何与 SPen 相关的 SDK 库,扩展类会发生内存泄漏。以下事件序列通常会触发内存泄漏:
- 用户按下侧面按钮,激活 Air Command 工具。
- 无需单击任何 Air Command 工具的图标,再次单击侧边按钮。
- 屏幕旋转,在这种情况下会导致 Activity 被销毁并重新启动。
- 通过 Android Studio 执行 Java 堆转储会发现被破坏的 Activity 存在内存泄漏。
- 分析器表明活动 mContext 变量被包类引用:com.samsung.android.smartclip.SpenGestureManager。这很可能导致活动内存泄漏。
有什么方法可以清除对 SpenGestureManager 类持有的 mContext 变量的引用吗?这应该有望让垃圾收集器清除被破坏的活动。
在以下设备/Android 版本(Samsung Galaxy Note 3 Duos)上检测到此问题:
- 型号:SM-N9002
- 安卓版本:4.4.2(奇巧)
- 基带版本:N9002ZNUFNK1
- ROM版本:SVA ROM SM-N9002 v9.0
在三星 Galaxy Note 10.1 设备上测试了相同的应用程序,该设备似乎没有此内存泄漏问题。