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

Как избежать skipped frames ? - Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Android Как установить Gif анимацию в качестве фона? http://www.cyberforum.ru/android-dev/thread1629614.html
Слышал, что есть какие-то библиотеки, но там сильно муторно их прицеплять к проекту
Android Компиляция приложения в buildTypes - Debug с релизным ключем Добрый день! Подскажите пожалуйста, возможно ли компилировать в АС приложение в Debug-режиме, но используя при єтом для подписи реальный ключ? Мой build.gradle ниже. Релиз делается нормально, а дебуг все равно тянет стандартный Debug - ключ. apply plugin: 'com.android.application' //apply plugin: 'com.android.library' apply plugin: 'signing' android { http://www.cyberforum.ru/android-dev/thread1629602.html
Кастомизировать список Android
Нужно создать список примерно как на картинке с белым фоном,но на текущий момент для listview могу сделать только как на картинке с черным фоном,т.е. картинка с боку,а нужно что бы вверху была прямоугольная картинка а в низу текст,можно ли это реализовать в обычном listview или же использовать другой вью?
Android Нарисовать круговую диаграмму с разной высотой для каждой части
У меня тут вопрос вообще не решаемый как по мне, сижу пытаюсь сделать вот диаграмму с разной высотой для каждого из элементов диаграммы. Во вложении то что должно получиться.... В общем пока что получается только сделать круговую диаграмму, но высоту все никак не пойму как можно регулировать, может кто то с таким сталкивался и знает как лучше такое сделать? Делать пытаюсь на канвасе, код...
Android Не работает цик(или indexOf() http://www.cyberforum.ru/android-dev/thread1629142.html
Суть кода ниже в том, чтобы находить в строке сочетания символов "ccc" и в них вставлять другой символ. Но программа исправляет только одно сочетание ccc(например в строке "сссaccc" получится "сасассс", вместо "сасасас"). Почему так происходит? Где ошибка? Подскажите пожалуйста!! for (int z = 1; z<=10; z++) { pos = jkl.indexOf("ccc", pos); if (pos...
 

Показать сообщение отдельно
gigs
8 / 9 / 1
Регистрация: 21.12.2011
Сообщений: 397

Как избежать skipped frames ? - Android

31.12.2015, 20:30. Просмотров 187. Ответов 1
Метки (Все метки)

Добрый день, помогите решить проблему, я создал метод table() который генерирует таблицу. Вот код:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
public void table(){
    ScrollView scrollView = new ScrollView(this);
    HorizontalScrollView horizontalScroll = new HorizontalScrollView(this);
    TableLayout tableLayout = new TableLayout(this);
    tableLayout.setBackgroundColor(Color.BLACK);
 
    LayoutParams cellsParam = new LayoutParams(
            LayoutParams.MATCH_PARENT,
            LayoutParams.MATCH_PARENT);
    cellsParam.setMargins(1, 1, 1, 1);
 
    for(int i = 0; i < 600; i++){
        TableRow row = new TableRow(this);
            TextView wayTextView = new TextView(this);
            wayTextView.setText("text" + i);
            wayTextView.setBackgroundColor(Color.WHITE);
            wayTextView.setGravity(Gravity.CENTER);
            row.addView(wayTextView, cellsParam);
 
            tableLayout.addView(row);
        }
    horizontalScroll.addView(tableLayout);
    scrollView.addView(horizontalScroll);
    setContentView(scrollView);
}
Проблема в том, что когда я его вызываю в onCreate(), в логах появляется сообщение: I/Choreographer: Skipped 32 frames! The application may be doing too much work on its main thread."

В гугле я узнал что для избежания подобного сообщения нужно использовать AsyncTask, но я не знаю как в AsyncTask реализовать создание таблицы не в UI потоке. Я не могу вызвать метод table() в doInBackground(), потому что тогда мне будет выдавать ошибку "Only the original thread that created a view hierarchy can touch its views", но я так же не могу вызвать метод table() в onPreExecute() или в onPostExecute() потому что опять получу skipped frames.

Посоветуйте что можно сделать ? а то я же третий день голову ломаю.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 10:25. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru