嗨我有很簡單的代碼我的圖像都壓縮,所以沒有人超過50kb。當我啓動我的應用程序時,1張圖片被加載,內存使用量約爲42mb,但當我向下滾動到另一張圖片時,其他圖片會導致內存使用量增加到250mb。如何解決它?這裏是我的代碼,請我是初學者,所以試着簡單解釋一下。圖像佔用太多內存
import android.content.Context;
import android.support.v4.view.PagerAdapter;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
public class CustomSwip extends PagerAdapter {
private int[] imageResources = {R.drawable.j1, R.drawable.jg2,R.drawable.jg3, R.drawable.jg4, R.drawable.jg5, R.drawable.jg6, R.drawable.jg7, R.drawable.jg8, R.drawable.jg9, R.drawable.jg10, R.drawable.jg11, R.drawable.jg12, R.drawable.jg13, R.drawable.jg14, R.drawable.jg15, R.drawable.jg16};
private Context ctx;
private LayoutInflater layoutInflater;
public CustomSwip(Context c) {
ctx = c;
}
@Override
public int getCount() {
return imageResources.length;
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
layoutInflater = (LayoutInflater) ctx.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View itemView = layoutInflater.inflate(R.layout.activity_custom_swip, container, false);
ImageView imageView = (ImageView) itemView.findViewById(R.id.swip_image_view);
imageView.setImageResource(imageResources[position]);
container.addView(itemView);
return itemView;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
}
@Override
public boolean isViewFromObject(View view, Object object) {
return (view == object);
}
}
使用'Glide'或'Picasso'庫進行圖像下載/緩存。 –
你的內存使用情況是什麼意思?它是在您的設備內存中用於您的應用程序的存儲內存嗎? –
Android監視器有一個包含logcat,內存,CPU,GPU和網絡監視器的主窗口。在這個窗口中,你可以選擇一個設備和應用程序進程,終止一個應用程序,收集dumpsys系統信息,並創建正在運行的應用程序的屏幕截圖和視頻。它從android監視器 –