2016-03-15 2 views
0

Для загрузки изображений в список (в моем случае «профили» размером 25 kb) вчера я связал picasso, чтобы изображения загружались быстрее и кэшировались на диск. но с тех пор я постоянно выхожу из памяти, даже если я не открываю активность, где загружаются изображения. может быть кеш не очищен, поэтому мое приложение больше не может обрабатывать запросы на сервер? Кто-нибудь сталкивался с этой проблемой? или я в основном делаю что-то неправильно?Ошибка Пикассо из памяти?

На самом деле, мое приложение начинается с загрузки карты google, и маркеры помещаются в определенные места, заданные запросом JSON. если я перехожу в другое место для загрузки этих маркеров, возникает ошибка из-за ошибки при попытке загрузить JSON с сервера. Никогда не было раньше, только с тех пор, как я включил библиотеку picasso в свое приложение.

вот мой ListItem для ListView:

<?xml version="1.0" encoding="utf-8"?> 
<ListView xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" android:layout_height="match_parent"> 

<ImageView 
    android:layout_width="40dp" 
    android:layout_height="40dp" 
    android:padding="8dp" 
    android:id="@+id/friends_image" 
    /> 

<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:minHeight="?android:attr/listPreferredItemHeight" 
    android:layout_toRightOf="@+id/friends_image" 
    android:gravity="center_vertical" 
    android:id="@+id/list_item_friends_textview" /> 

<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:id="@+id/text_view_id" 
/> 

+0

Имеются ли у ваших изображений этот атрибут? : 'android: adjustViewBounds =" true "' также пытались '.fit(). centerCrop()' –

+0

Да @rudi, в xml –

+0

Добавьте его на все ваши изображения и протестируйте его agian и дайте мне знать, если он выкинет outmemory –

ответ

0

Используйте ScaleType

<ImageView 
     android:id="@+id/grid_item_image" 
     android:layout_width="wrap_content" 
     android:paddingLeft="15dp" 
     android:paddingRight="15dp" 
     android:layout_gravity="center" 
     android:scaleType="fitXY" 
     android:layout_height="100dp"/> 
+0

, так что я должен сделать оба, добавить scaleType и android: adjustViewBounds = "true"? – rudi

+0

да, вы не можете решить проблему –

0

Добавление файла AndroidManifest.xml

<application 
      .... 
      .... 
      android:largeHeap="true" 

</application> 
+0

в сети. Многие люди говорят, что это не решение, поскольку на самом деле это не решает проблему в конечном итоге ...? – rudi

+0

да, он не решает проблему, а делает проблему для другого запущенного приложения, он сообщает системе, что приложение требует больше памяти, и, следовательно, система получает память, убивая другое фоновое приложение –

Смежные вопросы