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

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

Войти
Регистрация
Восстановить пароль
 
Kubson
-24 / 2 / 0
Регистрация: 17.07.2014
Сообщений: 253
#1

Программа вылетает при прокрутке ListActivity - Android

27.12.2015, 15:06. Просмотров 151. Ответов 1
Метки нет (Все метки)

Здравствуйте, уважаемые программисты! Не могли бы вы мне помочь?

Моя программа вылетает при прокрутке ListActivity вниз... Как это исправить?

Лог ошибки:
Process: spsoft.passwordgenerator, PID: 12386
java.lang.OutOfMemoryError: Failed to allocate a 22339516 byte allocation with 4355084 free bytes and 4MB until OOM
at dalvik.system.VMRuntime.newNonMovableArray(Native Method)
at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:816)
at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:637)
at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:1019)
at android.content.res.Resources.loadDrawableForCookie(Resources.java:3778)
at android.content.res.Resources.loadDrawable(Resources.java:3651)
at android.content.res.Resources.getDrawable(Resources.java:1865)
at android.content.Context.getDrawable(Context.java:408)
at android.widget.ImageView.resolveUri(ImageView.java:752)
at android.widget.ImageView.setImageResource(ImageView.java:408)
at spsoft.passwordgenerator.Adapter.getView(Adapter.java:84)
at android.widget.AbsListView.obtainView(AbsListView.java:2823)
at android.widget.ListView.makeAndAddView(ListView.java:1889)
at android.widget.ListView.fillDown(ListView.java:713)
at android.widget.ListView.fillGap(ListView.java:677)
at android.widget.AbsListView.trackMotionScroll(AbsListView.java:7037)
at android.widget.AbsListView.scrollIfNeeded(AbsListView.java:4164)
at android.widget.AbsListView.onTouchMove(AbsListView.java:5528)
at android.widget.AbsListView.onTouchEvent(AbsListView.java:5363)
at android.view.View.dispatchTouchEvent(View.java:9042)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2701)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2413)
at android.widget.AbsListView.dispatchTouchEvent(AbsListView.java:5305)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2712)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2428)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2712)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2428)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2712)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2428)
at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:2679)
at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1797)
at android.app.Activity.dispatchTouchEvent(Activity.java:2878)
at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:2640)
at android.view.View.dispatchPointerEvent(View.java:9247)
at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:4786)
at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:4624)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4175)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4228)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4194)
at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4304)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4202)
at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:4361)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4175)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4228)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4194)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4202)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4175)
at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:6653)
at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:6537)
at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:6508)
at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:6743)
at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:185)
a
ListActivity:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import android.app.ListActivity;
import android.os.Bundle;
 
public class MyListActivity extends ListActivity {
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        String[] values = new String[] { "Skype", "Vkontakte", "Facebook",
                "Twitter", "Борьба умов", "Google+", "App store", "Телефон",
                "Компьютер", "Viber", "Visa", "Mastercard", "Gmail", "Instagramm", "Wikipedia", "Yandex", "Wi-Fi",
                 "Utorrent", "Steam", "4pda", "tut.by", "Почта", "Ничего из выше перечисленного"};
        Adapter adapter = new Adapter(this, values);
        setListAdapter(adapter);
    }
 
}
Adapter.java:
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
import android.app.ListActivity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
 
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;
 
public class Adapter extends ArrayAdapter<String> {
    private final Context context;
    private final String[] values;
 
    public Adapter(Context context, String[] values) {
        super(context, R.layout.rowlayout, values);
        this.context = context;
        this.values = values;
    }
 
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        LayoutInflater inflater = (LayoutInflater) context
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        View rowView = inflater.inflate(R.layout.rowlayout, parent, false);
        TextView textView = (TextView) rowView.findViewById(R.id.textView27);
        ImageView imageView = (ImageView) rowView.findViewById(R.id.imageView);
        textView.setText(values[position]);
        String s = values[position];
        switch (s) {
            case "Vkontakte":
                imageView.setImageResource(R.drawable.vk2);
                break;
            case "Skype":
                imageView.setImageResource(R.drawable.skype);
                break;
            case "Facebook":
                imageView.setImageResource(R.drawable.facebook);
                break;
            case "Twitter":
                imageView.setImageResource(R.drawable.twitter);
                break;
            case "Борьба умов":
                imageView.setImageResource(R.drawable.quiz);
                break;
            case "Google+":
                imageView.setImageResource(R.drawable.google);
                break;
            case "App store":
                imageView.setImageResource(R.drawable.appstore);
                break;
            case "Телефон":
                imageView.setImageResource(R.drawable.phone);
                break;
            case "Компьютер":
                imageView.setImageResource(R.drawable.comp);
                break;
            case "Viber":
                imageView.setImageResource(R.drawable.viber);
                break;
            case "Visa":
                imageView.setImageResource(R.drawable.visa);
                break;
            case "Mastercard":
                imageView.setImageResource(R.drawable.mc);
                break;
            case "Gmail":
                imageView.setImageResource(R.drawable.gmail);
                break;
            case "Instagramm":
                imageView.setImageResource(R.drawable.ins);
                break;
            case "Wikipedia":
                imageView.setImageResource(R.drawable.wiki);
                break;
            case "Yandex":
                imageView.setImageResource(R.drawable.yandex);
                break;
            case "Wi-Fi":
                imageView.setImageResource(R.drawable.wi);
                break;
            case "Utorrent":
                imageView.setImageResource(R.drawable.utorrent);
                break;
            case "Steam":
                imageView.setImageResource(R.drawable.steam);
                break;
            case "4pda":
                imageView.setImageResource(R.drawable.pda);
                break;
            case "tut.by":
                imageView.setImageResource(R.drawable.tut);
                break;
            case "Почта":
                imageView.setImageResource(R.drawable.mail);
                break;
            case "Ничего из выше перечисленного":
                imageView.setImageResource(R.drawable.pg);
                break;
 
        }
 
        return rowView;
    }
}
Заранее большое спасибо!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.12.2015, 15:06     Программа вылетает при прокрутке ListActivity
Посмотрите здесь:

При запуске новой деятельности вылетает с ошибкой (программа легкая для тех, кто программирует под android) Android
Android ListActivity
При повороте на 90 градусов вылетает программа Android
Android Ошибка при прокрутке списка
При смене ориентации на land программа "вылетает" Android
Программа вылетает при вызове метода OnPrepareDialog Android
Программа вылетает при переходе на ListActivity Android
Android ListActivity
Android Программа вылетает при запуске. OutOfMemryError
Android Вылетает при прокрутке
Android Программа вылетает при вызове метода getResourse()
Вызов метода при прокрутке activity Android

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Armagedo
208 / 208 / 60
Регистрация: 22.08.2014
Сообщений: 644
27.12.2015, 15:09     Программа вылетает при прокрутке ListActivity #2
Так написано ж
Failed to allocate a 22339516 byte allocation with 4355084 free bytes and 4MB until OOM
Как можно натянуть 22 метра на доступных 4?

Смотрите размер своих картинок....
Yandex
Объявления
27.12.2015, 15:09     Программа вылетает при прокрутке ListActivity
Ответ Создать тему
Опции темы

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