Без реализации каких-либо библиотек SDK, связанных с SPen, в расширенном классе AppCompatActivity
возникает утечка памяти. Следующая последовательность событий обычно вызывает утечку памяти:
- Пользователь нажимает боковую кнопку, которая активирует инструмент Air Command.
- Не нажимая ни на один из значков инструмента Air Command, боковая кнопка нажимается снова.
- Экран поворачивается, что в данном случае приводит к уничтожению и перезапуску Activity.
- Выполнение дампа кучи Java через Android Studio выявляет утечку памяти из-за уничтоженной активности.
- Анализатор указывает, что на переменную активности mContext ссылается класс пакета: com.samsung.android.smartclip.SpenGestureManager. Это, скорее всего, вызывает утечку памяти активности.
Есть ли способ очистить ссылку на переменную mContext, хранящуюся в классе SpenGestureManager? Мы надеемся, что это должно позволить сборщику мусора очистить уничтоженную активность.
Эта проблема была обнаружена на следующем устройстве/версии Android (Samsung Galaxy Note 3 Duos):
- Номер модели: SM-N9002
- Версия Android: 4.4.2 (КитКат)
- Версия основной полосы частот: N9002ZNUFNK1
- Версия ПЗУ: SVA ROM SM-N9002 v9.0
Это же приложение было протестировано на устройстве Samsung Galaxy Note 10.1, которое, похоже, не имеет этой проблемы с утечкой памяти.