Я только что выпустил jQuery-фреймворк для Android под названием Vapor API , цель которого - упростить разработку приложений.
Центральный $
класс фасадов поддерживает WeakReference
(ссылка на потрясающий пост в блоге Java об этом Ethan Nicholas) в текущем контексте Activity
, который вы можете получить по телефону:
$.act()
A WeakReference
поддерживает ссылку, не предотвращая сборку мусора, возвращая исходный объект, поэтому у вас не должно быть проблем с утечками памяти.
Недостатком, конечно, является то, что вы рискуете, что $.act()
может вернуть ноль. Я еще не сталкивался с этим сценарием, так что, возможно, это просто минимальный риск, о котором стоит упомянуть.
Вы также можете установить контекст вручную, если вы не используете VaporActivity
в качестве Activity
класса:
$.act(Activity);
Кроме того, большая часть инфраструктуры Vapor API использует этот хранимый контекст по своей сути, что может означать, что вам вообще не нужно хранить его самостоятельно, если вы решите использовать среду. Посетите сайт для получения дополнительной информации и образцов.
Надеюсь, это поможет:)