Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
#1

Буферизация форм в сервисе - Программирование Android

27.01.2014, 16:45. Просмотров 681. Ответов 2
Метки нет (Все метки)

Гуру помогите!
Пишу корпоративную звонилку под одну фирму. Но она СЛИШКОМ большая и ОЧЕНЬ долго грузится(6 закладок и 5 списков и это только на сегодня). Долго заполняется список, отрисовываются картинки... Ждать до 15-20 секунд что-бы "по быстрому" позвонить не правильно! КАК это ускорить???

Возникла мысль:
Создать неубиваемый сервис.
Поместить его в автозагрузку.
В нем в отдельном потоке заполнить адаптеры списков.
Тогда по идее формы созданные активити не будут убиваться окончательно? Только прятаться?
Вызовется ли активити после этого по клику на ярлыке или будет перезапускаться сервис?

Правильно мыслю? Или есть другое решение? Или это не поможет?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.01.2014, 16:45     Буферизация форм в сервисе
Посмотрите здесь:

Отзывы о сервисе geekbrains (ru) - Программирование Android
Доброго времени суток! Подскажите кто-то что-то слышал о сервисе geekbrains? Сомнительный сервис как то связан со школой программирования...

Ошибка потока в сервисе - Программирование Android
Создаю сервис, он должен выполнять парсинг сайта, загрузку звука с сайта, сохранение этого звука на флешку и воспроизведение. Написал код...

Реакция активити на событие в сервисе - Программирование Android
Здравствуйте. Есть следующая задача, решение которой мне найти не удалось (а может гуглил плохо): Предположим есть некая активити, на...

MediaPlayer и буферизация видео из интернета - Программирование Android
Пришло время и самому спросить , может кто знает или сталкивался. Беда в том, что в SurfaceView пока идет буферизация отображается как...

Как запустить метод в сервисе, в определённое время? - Программирование Android
Как запускать метод в сервисе, с понедельника по пятницу в определённое время? Подскажите пожалуйста кто знает куда смотреть?

Как отменить выполнение кода в сервисе, который запущен в отдельном потоке? - Программирование Android
Здравствуйте! Есть код класса, наследующего Service public int onStartCommand(Intent intent, int flags, int startId) { tTask = new...

Конструктор форм - Программирование Android
Всем доброго времени суток. Очень давно не касался программирования вообще, тут решил поковыряться... Хочу побаловаться для андройд......

Скроллинг форм - Программирование Android
Ребят, честно только начал разбираться с программированием. Вот вообще не знаю как сформулировать вопрос (потому что не знаю как...

Алгоритм распознавания форм на фото - Программирование Android
Здравствуйте, сотоварищи! Помогите найти или составить алгоритм/код для определения формы объекта на фото. (знаю, много хочу:cry:)....

Программирование кнопок не прямоугольных форм - Программирование Android
Уважаемые, подскажите, как сделать кнопку сложной формы, например, по форме пианинных клавиш. Или как запрограммировать наложенные друг на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
NiRamz
211 / 211 / 16
Регистрация: 26.12.2010
Сообщений: 691
27.01.2014, 19:12     Буферизация форм в сервисе #2
Цитата Сообщение от Tester64 Посмотреть сообщение
Создать неубиваемый сервис.
Поместить его в автозагрузку.
В нем в отдельном потоке заполнить адаптеры списков.
и словите екзепшен.

у вас скорей всего что то с самими списками, почитайте про ArrayAdapter и ViewHolder pattern (последний позволяет значительно ускорить отрисовку элементов)

Добавлено через 1 минуту
в отдельном потоке можно наполнять массив с данными, а после просто в основном отрисовать адаптер
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
28.01.2014, 00:28  [ТС]     Буферизация форм в сервисе #3
Со списками порядок, все ускорители использую или планирую использовать, но списков много, есть графика отрисовываемая вручную на канвасе (графики)... Есть сложные и путанные запросы между моими таблицами и системными. Красивая графика с градиентами и селекторами (которых куча).

Но это я подделал далеко не все (нужные мне) возможности обычных звонилок. Боюсь что обьем программы на ровном месте в ближайшее время вырастит раз в 5 на одной лишь логике... А значит вырастит время загрузки!

Но суть не в этом! Возьмите ЛЮБУЮ программу (или игрушку) и она если больше 300Кб то грузится больше 10 секунд на средних(не самых быстрых) устройствах. Переключение между уже открытыми происходит почти мгновенно (не больше 2х секунд). Звонилка должна быть на телефоне ВСЕГДА в памяти. По крайней мере главная форма.

Отрисовка таблицы состоит из 2х частей - заполнение адаптера и его отрисовка. Если правильно подойти к процессу, то повторная отрисовка адаптера происходит раз в 10 быстрее первого раза (буферизирую вьювы строк). Хочу чтобы при загрузке устройства адаптеры заполнились, формы/вьювы создались и просто остались невидимыми. При нажатии на ярлычок форма проявлялась. При кнопке бэк снова не видимая, но не удалялась из памяти. При нажатии на строку в трее(нотификэйшен) тоже видна... Первая загрузка пусть хоть минуту длиться... А вторая до 2х секунд! Что-бы программу НЕЛЬЗЯ было бы просто убить без спец-средств. Даже удалением из общего списка долгим удержанием HOME. Возможно ли такое?
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru