调整.9图缓存策略
This commit is contained in:
parent
447f8537f1
commit
1a8e7ecae9
@ -77,6 +77,7 @@ import com.yunbao.live.socket.SocketClient;
|
|||||||
import com.yunbao.live.socket.SocketMessageListener;
|
import com.yunbao.live.socket.SocketMessageListener;
|
||||||
import com.yunbao.live.socket.SocketRyChatUtil;
|
import com.yunbao.live.socket.SocketRyChatUtil;
|
||||||
import com.yunbao.live.socket.SocketRyClient;
|
import com.yunbao.live.socket.SocketRyClient;
|
||||||
|
import com.yunbao.live.utils.LoadDian9TuUtil;
|
||||||
import com.yunbao.live.utils.UnzipFromAssets;
|
import com.yunbao.live.utils.UnzipFromAssets;
|
||||||
import com.yunbao.live.views.AbsLiveViewHolder;
|
import com.yunbao.live.views.AbsLiveViewHolder;
|
||||||
import com.yunbao.live.views.LiveAddImpressViewHolder;
|
import com.yunbao.live.views.LiveAddImpressViewHolder;
|
||||||
@ -1474,6 +1475,7 @@ public abstract class LiveActivity extends AbsActivity implements SocketMessageL
|
|||||||
protected void release() {
|
protected void release() {
|
||||||
EventBus.getDefault().unregister(this);
|
EventBus.getDefault().unregister(this);
|
||||||
LiveHttpUtil.cancel(LiveHttpConsts.SEND_DANMU);
|
LiveHttpUtil.cancel(LiveHttpConsts.SEND_DANMU);
|
||||||
|
LoadDian9TuUtil.clearBitmap();
|
||||||
if (mKeyBoardHeightUtil != null) {
|
if (mKeyBoardHeightUtil != null) {
|
||||||
mKeyBoardHeightUtil.release();
|
mKeyBoardHeightUtil.release();
|
||||||
}
|
}
|
||||||
|
@ -15,11 +15,15 @@ import android.view.View;
|
|||||||
import com.bumptech.glide.Glide;
|
import com.bumptech.glide.Glide;
|
||||||
import com.bumptech.glide.request.target.CustomTarget;
|
import com.bumptech.glide.request.target.CustomTarget;
|
||||||
import com.bumptech.glide.request.transition.Transition;
|
import com.bumptech.glide.request.transition.Transition;
|
||||||
|
import com.yunbao.live.activity.LiveActivity;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileInputStream;
|
import java.io.FileInputStream;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public class LoadDian9TuUtil {
|
public class LoadDian9TuUtil {
|
||||||
|
private static final List<Bitmap> BITMAP_CACHE=new ArrayList<>();//.9图Bitmap缓存
|
||||||
|
|
||||||
public static void loadDian9Tu(Context context, View imageView, String imgUrl, int position) {
|
public static void loadDian9Tu(Context context, View imageView, String imgUrl, int position) {
|
||||||
if (context == null) {
|
if (context == null) {
|
||||||
@ -40,8 +44,10 @@ public class LoadDian9TuUtil {
|
|||||||
public void onResourceReady(@NonNull File resource, @Nullable Transition<? super File> transition) {
|
public void onResourceReady(@NonNull File resource, @Nullable Transition<? super File> transition) {
|
||||||
try {
|
try {
|
||||||
FileInputStream is=new FileInputStream(resource);
|
FileInputStream is=new FileInputStream(resource);
|
||||||
setNinePathImage(context, imageView, BitmapFactory.decodeStream(is), position);
|
Bitmap bitmap=BitmapFactory.decodeStream(is);
|
||||||
|
BITMAP_CACHE.add(bitmap);
|
||||||
|
setNinePathImage(context, imageView, bitmap, position);
|
||||||
|
is.close();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
@ -63,4 +69,16 @@ public class LoadDian9TuUtil {
|
|||||||
imageView.setBackground(patchy);
|
imageView.setBackground(patchy);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see LiveActivity#onDestroy() 结束时,释放掉.9图缓存
|
||||||
|
*/
|
||||||
|
public static void clearBitmap(){
|
||||||
|
for (Bitmap bitmap : BITMAP_CACHE) {
|
||||||
|
if(bitmap!=null) {
|
||||||
|
bitmap.recycle();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
BITMAP_CACHE.clear();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user