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

Загрузка и отображение большого количества картинок с памяти телефона - Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Android Position в ListView после addTextChangedListener http://www.cyberforum.ru/android-dev/thread1144474.html
ПРивет! в чем соль... у меня ListView с определенными item, при клике на них, появляется окно с определенной информацией. какую именно информацию отображать я определяю так: я передаю позицию кнопки на которую нажали и по этому числу уже соответственно показываю нужный текст. Теперь мне нужно добавить поиск по этим item. Я добавил EditText и сам поиск я реализую через addTextChangedListener. Но...
Android Пространство имён чуть ниже часть кода игры, и меня интересует в нём переменная game. game является аргументом конструктора класса, и потом к этому аргументу обращаются из другого метода этого класса: import java.util.List; import com.badlogic.androidgames.framework.Game; import com.badlogic.androidgames.framework.Graphics; import com.badlogic.androidgames.framework.Input.TouchEvent; import... http://www.cyberforum.ru/android-dev/thread1144374.html
Построение графиков и диаграмм Android
Здравствуйте. Подскажите, как строить диаграммы и графики. Может, есть в сети какие-нибудь обучающие уроки по этому? Желательно на русском.
Белый фон при прокрутке listview и actionbar в android 2.1 Android
При прокрутке ListView на Android 2.3 появляется белый фон. Ставил Cache Color Hint на прозрачный или на цвет фона, не помогает. Как это исправить? И еще вопрос: как с помощью support library v7 сделать ActionBar на Android 2.+? В одной статье было написано, что для этого надо MainActivity наследовать от ActionBarActivity, но у меня оно уже наследует FragmentActivity, а java не поддерживает...
Android Небольшой поиск в приложении http://www.cyberforum.ru/android-dev/thread1143983.html
Здравствуйте всем) Задумал как-то сделать небольшое приложение, поиск погоды, просто так.Так от главный вопрос возник, как организовать сам поиск? Наклепал кое что, как обычно: import android.app.Activity; import android.content.Intent; import android.os.Bundle;
Android Поворот imageView на заданный угол народ! как можно повернуть imageView на заданный угол? подробнее

Показать сообщение отдельно
spydark91
85 / 85 / 2
Регистрация: 03.03.2011
Сообщений: 1,872
12.04.2014, 00:18  [ТС]     Загрузка и отображение большого количества картинок с памяти телефона
Цитата Сообщение от KillAndEat Посмотреть сообщение
spydark91, для этого и нужен кэш. Чтоб удалялось не все сразу а часть. То что удалилось грузить потом по новой.
а когда нужно грузить вызывается метод getView в гриде, да?

Добавлено через 4 минуты
пока что пробую так
при объеме до 100 работает довольно таки быстро
но при 200 вылетает ошибка
и сделано без ссылок, поскольку так и не допер куда их прикрутить..прошу просветить

в этом коде сначала создаю адаптер
а потом создаю вьюхи асинхроннонно вытаскиваю битмапы

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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
public class photosScreen_1 extends Fragment {  
    /*cut*/ 
    public SoftReference<List<Bitmap>> btms;
    public ImageView[] images; 
    
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
/*cut*/     
        images = new ImageView[parentA.links.length];
        List<Bitmap> listBitmap = new ArrayList<Bitmap>();
        btms = new SoftReference<List<Bitmap>>(listBitmap);
            shF();              
        return myView;      
    }
    
    private void shF() {
        GridView grid = (GridView)myView.findViewById(R.id.grid);
        grid.setAdapter(new ImageAdapter(parentA));
        // загружаем все картинки
        for (int i = 0;i<count;i++) {
            images[i] = new ImageView(parentA);
            new AsyncImageLoader(parentA,i).execute(parentA.links[i]);
        }
    }  
 
  
  
  
  public class ImageAdapter extends BaseAdapter {
/*cut*/
        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            if (convertView == null) {
                images[position].setLayoutParams(new GridView.LayoutParams(convertDpToPixel(140,parentA), convertDpToPixel(140,parentA))); 
            } else {
                images[position] = (ImageView) convertView;
            }       
            return images[position];
        }
 
    }
    
    public class AsyncImageLoader extends AsyncTask<String, Integer, Bitmap> {    
        private Context mContext = null;
        private int pos = 0;
        public AsyncImageLoader(Context cont, int po) {
            mContext = cont;
            pos = po;
        }
        protected Bitmap doInBackground(String... params) {
            Cursor cursor = mContext.getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, new String[] { MediaStore.Images.Media._ID }, MediaStore.Images.Media.DATA + "='" + params[0] + "'", null, null);
            Bitmap bitmap=null;  
            if (cursor != null) 
                if (cursor.getCount() > 0) {
                    cursor.moveToFirst();
                    bitmap = MediaStore.Images.Thumbnails.getThumbnail(mContext.getContentResolver(), cursor.getInt(0), MediaStore.Images.Thumbnails.MINI_KIND, null);
               //     btms.get().add(bitmap);
                }
            cursor.close();
            return bitmap;//parentA.btms.get().get(pos);
        }
 
        @Override
        protected void onPostExecute(Bitmap result) {
            images[pos].setImageBitmap(result);  
        }
    }
  
}
Добавлено через 1 минуту
ну и лог
XML
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
26
27
28
29
30
31
32
33
34
35
36
37
38
04-12 00:10:13.838: E/AndroidRuntime(26471): FATAL EXCEPTION: main
04-12 00:10:13.838: E/AndroidRuntime(26471): java.util.concurrent.RejectedExecutionException: pool=128/128, queue=10/10
04-12 00:10:13.838: E/AndroidRuntime(26471):    at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:1961)
04-12 00:10:13.838: E/AndroidRuntime(26471):    at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:794)
04-12 00:10:13.838: E/AndroidRuntime(26471):    at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1315)
04-12 00:10:13.838: E/AndroidRuntime(26471):    at android.os.AsyncTask.execute(AsyncTask.java:394)
04-12 00:10:13.838: E/AndroidRuntime(26471):    at com.example.gallery.photosScreen_1.shF(photosScreen_1.java:71)
04-12 00:10:13.838: E/AndroidRuntime(26471):    at com.example.gallery.photosScreen_1.onCreateView(photosScreen_1.java:54)
04-12 00:10:13.838: E/AndroidRuntime(26471):    at android.support.v4.app.Fragment.performCreateView(Fragment.java:1478)
04-12 00:10:13.838: E/AndroidRuntime(26471):    at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:927)
04-12 00:10:13.838: E/AndroidRuntime(26471):    at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1104)
04-12 00:10:13.838: E/AndroidRuntime(26471):    at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682)
04-12 00:10:13.838: E/AndroidRuntime(26471):    at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1460)
04-12 00:10:13.838: E/AndroidRuntime(26471):    at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:472)
04-12 00:10:13.838: E/AndroidRuntime(26471):    at android.support.v4.app.FragmentPagerAdapter.finishUpdate(FragmentPagerAdapter.java:141)
04-12 00:10:13.838: E/AndroidRuntime(26471):    at android.support.v4.view.ViewPager.populate(ViewPager.java:1068)
04-12 00:10:13.838: E/AndroidRuntime(26471):    at android.support.v4.view.ViewPager.populate(ViewPager.java:914)
04-12 00:10:13.838: E/AndroidRuntime(26471):    at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1436)
04-12 00:10:13.838: E/AndroidRuntime(26471):    at android.view.View.measure(View.java:8553)
04-12 00:10:13.838: E/AndroidRuntime(26471):    at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:581)
04-12 00:10:13.838: E/AndroidRuntime(26471):    at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:365)
04-12 00:10:13.838: E/AndroidRuntime(26471):    at android.view.View.measure(View.java:8553)
04-12 00:10:13.838: E/AndroidRuntime(26471):    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3261)
04-12 00:10:13.838: E/AndroidRuntime(26471):    at android.widget.FrameLayout.onMeasure(FrameLayout.java:250)
04-12 00:10:13.838: E/AndroidRuntime(26471):    at android.view.View.measure(View.java:8553)
04-12 00:10:13.838: E/AndroidRuntime(26471):    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3261)
04-12 00:10:13.838: E/AndroidRuntime(26471):    at android.widget.FrameLayout.onMeasure(FrameLayout.java:250)
04-12 00:10:13.838: E/AndroidRuntime(26471):    at android.view.View.measure(View.java:8553)
04-12 00:10:13.838: E/AndroidRuntime(26471):    at android.view.ViewRoot.performTraversals(ViewRoot.java:915)
04-12 00:10:13.838: E/AndroidRuntime(26471):    at android.view.ViewRoot.handleMessage(ViewRoot.java:1991)
04-12 00:10:13.838: E/AndroidRuntime(26471):    at android.os.Handler.dispatchMessage(Handler.java:99)
04-12 00:10:13.838: E/AndroidRuntime(26471):    at android.os.Looper.loop(Looper.java:150)
04-12 00:10:13.838: E/AndroidRuntime(26471):    at android.app.ActivityThread.main(ActivityThread.java:4385)
04-12 00:10:13.838: E/AndroidRuntime(26471):    at java.lang.reflect.Method.invokeNative(Native Method)
04-12 00:10:13.838: E/AndroidRuntime(26471):    at java.lang.reflect.Method.invoke(Method.java:507)
04-12 00:10:13.838: E/AndroidRuntime(26471):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:849)
04-12 00:10:13.838: E/AndroidRuntime(26471):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:607)
04-12 00:10:13.838: E/AndroidRuntime(26471):    at dalvik.system.NativeStart.main(Native Method)
 
Текущее время: 06:35. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru