MediaTestUtil.java revision 62f755ac65cb40f231a7fa0695724ae01975d01c
162f755ac65cb40f231a7fa0695724ae01975d01cYu Shan Emily Lau/*
262f755ac65cb40f231a7fa0695724ae01975d01cYu Shan Emily Lau * Copyright (C) 2011 The Android Open Source Project
362f755ac65cb40f231a7fa0695724ae01975d01cYu Shan Emily Lau *
462f755ac65cb40f231a7fa0695724ae01975d01cYu Shan Emily Lau * Licensed under the Apache License, Version 2.0 (the "License");
562f755ac65cb40f231a7fa0695724ae01975d01cYu Shan Emily Lau * you may not use this file except in compliance with the License.
662f755ac65cb40f231a7fa0695724ae01975d01cYu Shan Emily Lau * You may obtain a copy of the License at
762f755ac65cb40f231a7fa0695724ae01975d01cYu Shan Emily Lau *
862f755ac65cb40f231a7fa0695724ae01975d01cYu Shan Emily Lau *      http://www.apache.org/licenses/LICENSE-2.0
962f755ac65cb40f231a7fa0695724ae01975d01cYu Shan Emily Lau *
1062f755ac65cb40f231a7fa0695724ae01975d01cYu Shan Emily Lau * Unless required by applicable law or agreed to in writing, software
1162f755ac65cb40f231a7fa0695724ae01975d01cYu Shan Emily Lau * distributed under the License is distributed on an "AS IS" BASIS,
1262f755ac65cb40f231a7fa0695724ae01975d01cYu Shan Emily Lau * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1362f755ac65cb40f231a7fa0695724ae01975d01cYu Shan Emily Lau * See the License for the specific language governing permissions and
1462f755ac65cb40f231a7fa0695724ae01975d01cYu Shan Emily Lau * limitations under the License.
1562f755ac65cb40f231a7fa0695724ae01975d01cYu Shan Emily Lau */
1662f755ac65cb40f231a7fa0695724ae01975d01cYu Shan Emily Lau
1762f755ac65cb40f231a7fa0695724ae01975d01cYu Shan Emily Laupackage com.android.mediaframeworktest;
1862f755ac65cb40f231a7fa0695724ae01975d01cYu Shan Emily Lau
1962f755ac65cb40f231a7fa0695724ae01975d01cYu Shan Emily Lauimport java.io.FileOutputStream;
2062f755ac65cb40f231a7fa0695724ae01975d01cYu Shan Emily Lau
2162f755ac65cb40f231a7fa0695724ae01975d01cYu Shan Emily Lauimport android.os.Debug;
2262f755ac65cb40f231a7fa0695724ae01975d01cYu Shan Emily Lauimport android.os.Environment;
2362f755ac65cb40f231a7fa0695724ae01975d01cYu Shan Emily Lau
2462f755ac65cb40f231a7fa0695724ae01975d01cYu Shan Emily Lau/**
2562f755ac65cb40f231a7fa0695724ae01975d01cYu Shan Emily Lau *
2662f755ac65cb40f231a7fa0695724ae01975d01cYu Shan Emily Lau * Utilities for media framework test.
2762f755ac65cb40f231a7fa0695724ae01975d01cYu Shan Emily Lau *
2862f755ac65cb40f231a7fa0695724ae01975d01cYu Shan Emily Lau */
2962f755ac65cb40f231a7fa0695724ae01975d01cYu Shan Emily Laupublic class MediaTestUtil {
3062f755ac65cb40f231a7fa0695724ae01975d01cYu Shan Emily Lau    private MediaTestUtil(){
3162f755ac65cb40f231a7fa0695724ae01975d01cYu Shan Emily Lau    }
3262f755ac65cb40f231a7fa0695724ae01975d01cYu Shan Emily Lau
3362f755ac65cb40f231a7fa0695724ae01975d01cYu Shan Emily Lau    private static final String STORAGE_PATH =
3462f755ac65cb40f231a7fa0695724ae01975d01cYu Shan Emily Lau        Environment.getExternalStorageDirectory().toString();
3562f755ac65cb40f231a7fa0695724ae01975d01cYu Shan Emily Lau
3662f755ac65cb40f231a7fa0695724ae01975d01cYu Shan Emily Lau    //Catpure the heapdump for memory leaksage analysis\
3762f755ac65cb40f231a7fa0695724ae01975d01cYu Shan Emily Lau    public static void getNativeHeapDump (String name) throws Exception {
3862f755ac65cb40f231a7fa0695724ae01975d01cYu Shan Emily Lau        System.gc();
3962f755ac65cb40f231a7fa0695724ae01975d01cYu Shan Emily Lau        System.runFinalization();
4062f755ac65cb40f231a7fa0695724ae01975d01cYu Shan Emily Lau        Thread.sleep(1000);
4162f755ac65cb40f231a7fa0695724ae01975d01cYu Shan Emily Lau        FileOutputStream o = new FileOutputStream(STORAGE_PATH + '/' +name + ".dump");
4262f755ac65cb40f231a7fa0695724ae01975d01cYu Shan Emily Lau        Debug.dumpNativeHeap(o.getFD());
4362f755ac65cb40f231a7fa0695724ae01975d01cYu Shan Emily Lau        o.close();
4462f755ac65cb40f231a7fa0695724ae01975d01cYu Shan Emily Lau    }
4562f755ac65cb40f231a7fa0695724ae01975d01cYu Shan Emily Lau}