安卓开发之调试实例
来源:易贤网 阅读:720 次 日期:2014-08-21 16:09:14
温馨提示:易贤网小编为您整理了“安卓开发之调试实例”,方便广大网友查阅!

package AndroidApi;

import android.util.Log;

class Monitoring implements Runnable

{

public void run()

{

while (!Thread.currentThread().isInterrupted())

{

try

{

Thread.sleep(100);

} catch (InterruptedException s)

{

Thread.currentThread().interrupt();

}

AndroidDebug.printVaryMemory();

}

}

}

public class AndroidDebug

{

private static boolean m_bIsDebug = false;

/**

* 设置调试模式

*

* @param bIsDebug

*/

public static void setMode(boolean bIsDebug)

{

m_bIsDebug = bIsDebug;

}

/**

* 是否调试模式

* @return

*/

public static boolean isDebug()

{

return m_bIsDebug;

}

/**

* 打印信息

*

* @param strTxt

*/

public static void println(String strTxt)

{

if (m_bIsDebug)

{

System.out.println(strTxt);

}

}

/**

* 打印信息

*

* @param strTxt

*/

public static void Log(String strTag, String strTxt)

{

if (m_bIsDebug)

{

Log.i(strTag,strTxt);

}

}

/**

* 强制回收垃圾,可用于检测析构函数,检测未使用对象是否有

*/

public static void gc()

{

if (m_bIsDebug)

{

System.gc();

}

}

/**

* 打印堆总量

*/

public static void printTotalMemory()

{

Runtime r = Runtime.getRuntime();

AndroidDebug.println("Total memory is :" + r.totalMemory());

}

/**

* 打印堆剩余量

*/

public static void printFreeMemory()

{

gc(); // 执行强制回收以获得准确的剩余量

Runtime r = Runtime.getRuntime();

AndroidDebug.println("Free memory is :" + r.freeMemory());

}

/**

* 打印堆变化量

*/

static long longPre = 0;

public static void printVaryMemory()

{

gc(); // 执行强制回收以获得准确的剩余量

Runtime r = Runtime.getRuntime();

long longNow = r.freeMemory();

if (longNow > longPre)

{

AndroidDebug.println("Free memory -> :" + (longNow - longPre));

longPre = longNow;

} else if (longNow < longPre)

{

AndroidDebug.println("Free memory <- :" + (longPre - longNow));

longPre = longNow;

}

}

/**

* 监控内存

*

* @param bIsOpen

*/

private static Thread m_pThread = null;

public static void setMonitore(boolean bIsOpen)

{

if (bIsOpen)

{

if (null == m_pThread)

m_pThread = new Thread(new Monitoring());

m_pThread.setDaemon(true);

m_pThread.start();

}

else

{

if (null != m_pThread)

{

m_pThread.interrupt();

m_pThread = null;

}

}

}

更多信息请查看IT技术专栏

更多信息请查看网络编程
易贤网手机网站地址:安卓开发之调试实例
由于各方面情况的不断调整与变化,易贤网提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!
关于我们 | 联系我们 | 人才招聘 | 网站声明 | 网站帮助 | 非正式的简要咨询 | 简要咨询须知 | 加入群交流 | 手机站点 | 投诉建议
工业和信息化部备案号:滇ICP备2023014141号-1 云南省教育厅备案号:云教ICP备0901021 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
云南网警备案专用图标
联系电话:0871-65317125(9:00—18:00) 获取招聘考试信息及咨询关注公众号:hfpxwx
咨询QQ:526150442(9:00—18:00)版权所有:易贤网
云南网警报警专用图标