检测是否内存泄漏

Object c = new Car(); //只要c还指向car object, car object就不会被回收
当一个对象仅仅被weak reference指向, 而没有任何其他strong reference指向的时候, 如果GC运行, 那么这个对象就会被回收. 
weak reference的语法是:
WeakReference weakCar = new WeakReference(Car)(car);
当要获得weak reference引用的object时, 首先需要判断它是否已经被回收:weakCar.get();

 如果此方法为空, 那么说明weakCar指向的对象已经被回收了.

package com.android.camera.functional;

import com.android.camera.CameraActivity;

import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Environment;
import android.os.Process;
import android.provider.MediaStore;
import android.test.InstrumentationTestCase;
import android.test.suitebuilder.annotation.LargeTest;

import java.io.File;
import java.lang.ref.WeakReference;
import java.util.ArrayList;

public class CameraTest extends InstrumentationTestCase {
    @LargeTest
    public void testVideoCaptureIntentFdLeak()

你可能感兴趣的:(android,系统源码学习)