Странное поведение в моем приложении для Android (Android 2.3.5) - вещи надуваются неправильно - PullRequest
1 голос
/ 30 марта 2012

Я испытываю очень странное поведение в разрабатываемом приложении.Приложение не очень продвинутое, оно хранит несколько мест в базе данных sqlite и отображается в виде списка, на просмотре карты и т. Д. Итак, при просмотре моего приложения после его развертывания на моем телефоне все работает отлично, но через некоторое времяlistview не раздувается.Полоса прокрутки появляется, как будто предметы были там, но я не вижу их.Я нажимаю кнопку «Назад», чтобы закрыть приложение.При повторном посещении приложения мой первый вид, который имеет две кнопки, все испортил.Кнопки заполняют область просмотра, фон исчезает и т.д. Я не могу понять, что не так.

Кто-нибудь еще сталкивался с этими проблемами?Мой телефон - HTC Desire HD с Android 2.3.5

Приложение довольно «загруженное», если вы понимаете, о чем я.Элементы списка имеют пользовательские фоновые изображения, я использую пользовательские шрифты и т. Д. Но приложение работает плавно до того момента, когда оно начинает волноваться и отображает / отображает не все неправильно.

Моя первая мысль:есть какие-то проблемы с памятью, идеи?

РЕДАКТИРОВАТЬ: Я полагаю, это может быть связано с определением и использованием # 00000000 в качестве прозрачного цвета.Вместо этого используйте @ android: цвет / прозрачный .

РЕШЕНИЕ: Так что после некоторого тестирования я обнаружил, что причиной этого является то, что я ранее упоминал в редактированиипроблема.Я определил прозрачный цвет в моем colors.xml как # 00000000.Иногда кажется, что это работает ... И в других случаях вместо этого он рисует рисование, но не рисование, которое называется "прозрачным", оно захватывает ЛЮБОЕ рисование.Странно, но верно.

Ответы [ 3 ]

2 голосов
/ 11 октября 2012

После некоторого тестирования я наконец нашел причину этой проблемы. Я определил прозрачный цвет в моем colors.xml как # 00000000. Иногда кажется, что это работает ... И в других случаях вместо этого он рисует рисование, но не рисование, которое называется "прозрачным", оно захватывает ЛЮБОЕ рисование. Странно, но верно.

Таким образом, чтобы решить эту проблему, вы должны использовать @ android: цвет / прозрачный вместо того, когда вы хотите прозрачность, например, на фоне вида.

0 голосов
/ 27 января 2014

У меня была такая же проблема на вкладке Galaxy даже с @android:color/transparent.Смог исправить это только заменив android:background="@color/transparent" на android:background="@null".

0 голосов
/ 31 марта 2012

Если есть ошибки памяти, вы сможете отловить их в logcat. Вы получите сообщения «VM fail on xxxx байтовое распределение» (или тому подобное).

Глупый / глупый ответ: часто, когда я сталкиваюсь с проблемами компоновки в моем приложении, это потому, что мне нужно было делать чистую сборку после изменения моих макетов. Вы можете начать там.

Редактировать: Вы также можете попробовать эмулятор, и если вы подозреваете проблемы с памятью, вы можете запустить эмулятор с небольшой кучей, чтобы проблема возникла раньше. Вы также можете проверить использование кучи в DDMS или с помощью Eclipse MAT, чтобы проверить, не протекает ли она.

...