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}