У меня есть приложение, которое отслеживает несколько поставщиков контента, таких как календарь, список контактов, gmail и т. Д.
Приложение работает нормально, но я обнаружил, что оно может использовать до 70 МБ памяти. Когда я смотрю в gingerbread на использование памяти, само приложение использует около 6-7 МБ, а остальные - контент-провайдеры, например, на данный момент:
Приложение для Android Core - 16 МБ - используются контакты поставщика
Gmail - 36 Мб - Gmail провайдера используется
Хранение календаря 3.9mb - Календарь провайдера используется
Когда я запускаю приложение, потребление памяти низкое, но, как только, например, я получаю сообщение Gmail, память увеличивается.
Когда я запрашиваю контент-провайдеров, я всегда проверяю, закрыты ли открытые курсоры.
Есть что-то еще, что я должен закрыть, что мне не хватает? Я не хочу отменять регистрацию наблюдателя, поскольку я все еще хочу следить за изменениями в будущем.