Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Объявление форм для доступа к ним из других форм проекта - Visual Basic .NET
Поскажите, пожалуйста, как правильно объявить форму, что бы доступ к её элементам можно было получать из других форм?

Связывание двух форм по расположению на мониторе(Синхронизация форм) - Delphi
Такая проблема, представим если 2 формы, на первой форме есть клавиша "На вторую форму", которая будет иметь код: form1.visible:=false; ...

как по закрытии форм 2 сделать определенное действие в форм 1 - Java SE
Здравствуйте! Помогите пожалуйста, я новичок в ) Столкнулся с проблемой и не смог найти ответа на форумах. В кратце- есть 2 формы....

ShellExecute в сервисе - Delphi
Добрый день уважаемые форумчане. Нужно выполнить команду: ShellExecute(Form1.Handle, 'Print', 'text.txt', nil, nil, SW_Hide); Но...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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