80,351
社区成员
发帖
与我相关
我的任务
分享
public class RecycleViewList {
static final String TAG = "RecycleViewList";
private static final int INI_LIST_SIZE = 2;
private final SparseArray<SoftReference<View>> mViewCache = new SparseArray<SoftReference<View>>(INI_LIST_SIZE);
private Object syncLock = new Object();
public void addToCache(int idx, View v) {
synchronized (syncLock) {
int size = mViewCache.size();
Log.d(TAG, "addToCache: index="+idx+", size = "+size+", view="+v);
mViewCache.put(idx, new SoftReference<View>(v));
}
}
public View fetchCacheView(int idx) {
synchronized (syncLock) {
int size = mViewCache.size();
Log.d(TAG, "fetchCacheView: size = "+size);
if ((idx>=size) || (idx<0)) {
return null;
}
Log.d(TAG, "fetchCacheView: mViewCache.size() = "+mViewCache.size());
SoftReference<View> cachedView = mViewCache.get(idx);
Log.d(TAG, "fetchCacheView: cachedView= "+cachedView);
if (cachedView != null) {
View v = cachedView.get();
Log.d(TAG, "fetchCacheView: cachedView.get()= "+v);
if (v != null) {
Log.d(TAG, "fetchCacheView: leave with="+v);
return v;
}
}
}
return null;
}
public void clearCacheView() {
synchronized (syncLock) {
int size = mViewCache.size();
Log.d(TAG, "clearCacheView: size = "+size);
mViewCache.clear();
}
}
public int getSize() {
synchronized (syncLock) {
int size = mViewCache.size();
Log.d(TAG, "getSize: size = "+size);
return size;
}
}
}
public class FManager {
/*
* 函数介绍:保存log到日志文件
* 输入参数:strLog字符串
* 输出参数:无
* 返回值 :无
*/
public static void saveLogSD(String strLog) {
Log.v(TAG, "saveLogSD enter");