synchronized一个Object对象是为了什么?解决办法

synchronized一个Object对象是为了什么?
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;
        }
    }
}

------解决方案--------------------
静态函数,那就是应该用类级别的锁了,synchronized (FManager.class);或者在类里面用一个static的变量(private static Object syncObj = new Object();),然后synchronized(syncObj)即可。