网站首页  汉语字词  英语词汇  考试资料  写作素材  旧版资料

请输入您要查询的范文:

 

标题 安卓开发之调试实例
范文
    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;
    }
    }
    }
随便看

 

在线学习网范文大全提供好词好句、学习总结、工作总结、演讲稿等写作素材及范文模板,是学习及工作的有利工具。

 

Copyright © 2002-2024 cuapp.net All Rights Reserved
更新时间:2025/5/18 1:18:58