您的位置:首页 > 移动开发 > Android开发

android中打印函数调用栈、内存使用、屏幕分辨率

2013-10-22 14:39 447 查看
1、 打印当前函数调用栈

java.util.Map<Thread, StackTraceElement[]> ts = Thread.getAllStackTraces();
StackTraceElement[] ste = ts.get(Thread.currentThread());

for (StackTraceElement s : ste) {

android.util.Slog.e("SS ", s.toString()); //这个是android自带的,如果没有,用其他的打印函数一样

}

2、打印当前使用内存和剩余内存

Log.i("DragLayer", "NativeHeapSizeTotal:"+(android.os.Debug.getNativeHeapSize()) + "bytes");

Log.i("DragLayer", "NativeAllocatedHeapSize:"+(android.os.Debug.getNativeHeapAllocatedSize()) + "bytes");

Log.i("DragLayer", "NativeAllocatedFree:"+(android.os.Debug.getNativeHeapFreeSize()) + "bytes");

3、打印手机屏幕分辨率
DisplayMetrics dm = new DisplayMetrics();

getWindowManager().getDefaultDisplay().getMetrics(dm);

Log.i("Launcher--------", "--------------width = " + dm.widthPixels + "----height = " + dm.heightPixels);

4、打印android系统中单个应用使用内存上限
ActivityManager activityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);

Log.i("LaucnherApplication", "before----------------------------------------mem up limit = " + activityManager.getMemoryClass());

5、屏幕截图

adb shell /system/bin/screencap -p /sdcard/screenshot.png

adb pull /sdcard/screenshot.png d:/screenshot.png

原文地址: /article/9557683.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: