Comments 11
после чего сама выбросит бутылку. Спасибо, GC!
Да, только выбросить может сразу, а может через пару месяцев, когда бутылок накопится over 9000.
Обычно в этом нет большой проблемы — бутылка не мешается под ногами, а лежит себе в мусорной корзине. Кроме того, new generation обычно собирается довольно оперативно и без stop the world.
Ваша правда. Но при неправильной настройке сборщика можно поиметь много проблем. Например при неоптимальной настройке размеров под Young Generation. Если слишком много выделить места из хипа под молодое поколение, то реально у вас «весь дом будет завален бутылками», до определенного момента — момента переполнения этого места (в этот момент должен будет сработать GC по молодому поколению).
В коде можно использовать setTag/getTag с параметром id.
В качестве холдеров лучше не стоит использовать View.setTag (int key, Object tag) , это приводит к утечке памяти (https://code.google.com/p/android/issues/detail?id=18273). Такие тэги хранятся в статической WeakHashMap в классе View, поэтому если сохранить child view в тэге его предка, то такая запись никогда не удалится из мапы. Пофиксили баг только в ICS.
У меня когда-то была задача подгружать темы динамически из интернетов, но при этом не использовать apk, чтобы пользователю не нужно было ничего устанавливать. Все вроде ок, кроме того, что подгрузить 9-patch было невозможно из-за того, что aapt готовит его заранее еще при сборке.
Решил проблему портированием 9-patch парсера из aapt в native библиотеку. Вот это было интересно :)
Решил проблему портированием 9-patch парсера из aapt в native библиотеку. Вот это было интересно :)
Мы сейчас тоже работаем в этом направлении, но честно говоря не вижу проблемы предварительно обрабатывать 9-patch (до выкладки в интернеты).
Sign up to leave a comment.
Темы оформления. С блэк-джеком и WeakReference