activity之间传递数据相关问题

it2023-07-13  66

https://blog.csdn.net/rflyee/article/details/47431633

问题:传递bitmap提示数据过大

解决办法:

使用静态方法

package com.example.map9; import java.lang.ref.WeakReference; import java.util.HashMap; import java.util.Map; public class DataHolder { private static final DataHolder holder = new DataHolder(); public static DataHolder getInstance() {return holder;} Map<String, WeakReference<Object>> data = new HashMap<String, WeakReference<Object>>(); void save(String id, Object object) { data.put(id, new WeakReference<Object>(object)); } Object retrieve(String id) { WeakReference<Object> objectWeakReference = data.get(id); return objectWeakReference.get(); } }

 

 

A页面启动startActivity前:

DataHolder.getInstance().save("photo_bmp", bitmap);

B页面接收:

Bitmap photo_bmp=(Bitmap) DataHolder.getInstance().retrieve("photo_bmp");

 

 

最新回复(0)