最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android系統(tǒng)開發(fā)中l(wèi)og的使用方法及簡單的原理

 更新時間:2013年01月28日 11:01:26   作者:  
LOG是廣泛使用的用來記錄程序執(zhí)行過程的機(jī)制,它既可以用于程序調(diào)試,也可以用于產(chǎn)品運營中的事件記錄;在平時開發(fā)過程中經(jīng)常需要與log打交道,所以很有必要了解log的使用方法及簡單的原理,感興趣的朋友可以了解下啊
在程序開發(fā)過程中,LOG是廣泛使用的用來記錄程序執(zhí)行過程的機(jī)制,它既可以用于程序調(diào)試,也可以用于產(chǎn)品運營中的事件記錄。在Android系統(tǒng)中,提供了簡單、便利的LOG機(jī)制,開發(fā)人員可以方便地使用。在平時開發(fā)過程中經(jīng)常需要與log打交道,所以很有必要了解log的使用方法及簡單的原理。

1、linux內(nèi)核的log輸出
在標(biāo)準(zhǔn)的linux內(nèi)核開發(fā)過程中,使用printk,這是一個與printf輸出打印齊名的函數(shù),同樣提供格式化輸出功能,只是其有
打印級別且將信息保存到/proc/kmsg日志中,使用cat命令查看其信息[cat/proc/kmsg]
復(fù)制代碼 代碼如下:

<SPANstyle="COLOR:#003333;FONT-SIZE:14px">#defineKERN_EMERG"<0>"/*systemisunusable*/
#defineKERN_ALERT"<1>"/*actionmustbetakenimmediately*/
#defineKERN_CRIT"<2>"/*criticalconditions*/
#deinfeKERN_ERR"<3>"/*errorconditions*/
#deinfeKERN_WARNING"<4>"/*warningconditions*/
#deinfeKERN_NOTICE"<5>"/*normalbutsignificantcondition*/
#deinfeKERN_INFO"<6>"/*informational*/
#deinfeKERN_DEBUG"<7>"/*debug-levelmessages*/</SPAN>

2、android中l(wèi)og輸出
Android系統(tǒng)在用戶空間中提供了輕量級的logger日志系統(tǒng),它是在內(nèi)核中實現(xiàn)的一種設(shè)備驅(qū)動,與用戶空間的logcat工具配合使用能夠方便地跟蹤調(diào)試程序。
Android系統(tǒng)中的C/C++日志接口是通過宏來使用的。在system/core/include/android/log.h定義了日志的級別:
/*
*Androidlogpriorityvalues,inascendingpriorityorder.
*/
typedefenumandroid_LogPriority{
ANDROID_LOG_UNKNOWN=0,
ANDROID_LOG_DEFAULT,/*onlyforSetMinPriority()*/
ANDROID_LOG_VERBOSE,
ANDROID_LOG_DEBUG,
ANDROID_LOG_INFO,
ANDROID_LOG_WARN,
ANDROID_LOG_ERROR,
ANDROID_LOG_FATAL,
ANDROID_LOG_SILENT,/*onlyforSetMinPriority();mustbelast*/
}android_LogPriority;

為了使用方便,在system/core/include/cutils/log.h定義了相對應(yīng)的宏:
#defineLOGV(...)((void)LOG(LOG_VERBOSE,LOG_TAG,__VA_ARGS__))
#defineLOGD(...)((void)LOG(LOG_DEBUG,LOG_TAG,__VA_ARGS__))
#defineLOGI(...)((void)LOG(LOG_INFO,LOG_TAG,__VA_ARGS__))
#defineLOGW(...)((void)LOG(LOG_WARN,LOG_TAG,__VA_ARGS__))
#defineLOGE(...)((void)LOG(LOG_ERROR,LOG_TAG,__VA_ARGS__))
因為如果需要使用log輸出,包含其頭文件:#include<cutils/log.h>并link其動態(tài)庫:liblog.so即可
#defineLOG_TAG"XX_LOG_TAG"http://這里可以定義其輸出的TAG
#include<cutils/log.h>
JAVA層打印:
importandroid.util.Log;
privatestaticfinalStringTAG="XX_LOG_TAG";
Log.e(TAG,"ThisistheerrorlogprintedbyLog.iinandroiduserspace.");

3、盒子上如何獲取log
a、進(jìn)入shell獲取log
adbkill-server
adbconnectdest-ip
adbshell【登錄shell】
mount-oremount/system/system【改變權(quán)限】
logcat>>1.log
命令行輸入CTRL+C回到cmd命令行,adbpullpath/1.log
b、直接在cmd命令行獲取log
adbconnect連上后;
adbshell
adblogcat>>path/1.log
操作完畢后
命令行輸入CTRL+C回到cmd命令行,adbpullpath/1.log
c、在terminal終端直接輸出log
回車切到shell
logcat[此時即可看到打印]

4、Eclipse環(huán)境下運行(安裝了Android插件),那么直接可以在Eclipse就可以查看了
 

5、常用技巧
1、logcat中會打印【輸出級別+LOG_TAG名字+進(jìn)程字+打印的信息】可以充分利用這些信息分析問題
I/SystemServer(939):ActivityManager
I/ActivityManager(939):Memoryclass:96
E/AndroidRuntime(939):ErrorreportingWTF
第一列由Log.i(e/w..決定)或者LOGI/LOGE/LOGW...
第二列由LOG_TAG/TAG(JAVA)中決定,可以對于同一組模塊前相同的前綴[xxx]funtion這種命名
第三列是系統(tǒng)進(jìn)程號getpid()這值,打印線程值pthread_slef()

最后的就是自行增加的打印信息
2、調(diào)效效率或者執(zhí)行時間
1、建議重點的打印增加前綴,方便查找。以[######]
2、直接利用logcat輸出時間,調(diào)試執(zhí)行速度,分析效率
logcat-vtime【Displaythedate,invocationtime,priority/tag,andPIDoftheoriginatingprocess.】

相關(guān)文章

  • Android開發(fā)懸浮窗踩坑解決

    Android開發(fā)懸浮窗踩坑解決

    這篇文章主要為大家介紹了Android懸浮窗踩坑解決示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • Android中asset和raw的區(qū)別詳解

    Android中asset和raw的區(qū)別詳解

    本文重點給大家介紹android中asset和raw的區(qū)別,以及在使用過程中需要注意點,非常不錯,具有參考借鑒價值,感興趣的朋友一起看下吧
    2016-07-07
  • Android播放多張圖片形成的一個動畫示例

    Android播放多張圖片形成的一個動畫示例

    這篇文章主要介紹了Android播放多張圖片形成的一個動畫實現(xiàn)方法,結(jié)合實例形式分析了Android逐幀播放動畫圖片及ImageView控件的相關(guān)使用技巧,需要的朋友可以參考下
    2016-10-10
  • Android 利用方向傳感器實現(xiàn)指南針具體步驟

    Android 利用方向傳感器實現(xiàn)指南針具體步驟

    Android利用方向傳感器實現(xiàn)指南針功能,聽起來還不錯吧,下面與大家分享下具體的實現(xiàn)步驟,感興趣的朋友可以參考下哈
    2013-06-06
  • Android TV開發(fā):實現(xiàn)3D仿Gallery效果的實例代碼

    Android TV開發(fā):實現(xiàn)3D仿Gallery效果的實例代碼

    這篇文章主要介紹了Android TV開發(fā):實現(xiàn)3D仿Gallery效果的實例代碼,效果:滾動翻頁+ 頁面點擊+頁碼指示器+焦點控制,主要為了移植到電視上做了按鍵事件和焦點控制。
    2018-05-05
  • Android自定義View實現(xiàn)仿網(wǎng)易音樂唱片播放效果

    Android自定義View實現(xiàn)仿網(wǎng)易音樂唱片播放效果

    這篇文章主要為大家詳細(xì)介紹了Android自定義View實現(xiàn)仿網(wǎng)易音樂唱片播放效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • 關(guān)于Android bitmap你不知道的一些事

    關(guān)于Android bitmap你不知道的一些事

    這篇文章主要為大家詳細(xì)介紹了關(guān)于Android bitmap你不知道的一些事,使用bitmap需要注意的一些細(xì)節(jié),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • RecyclerView實現(xiàn)列表倒計時

    RecyclerView實現(xiàn)列表倒計時

    這篇文章主要為大家詳細(xì)介紹了RecyclerView實現(xiàn)列表倒計時,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-09-09
  • Android側(cè)滑效果簡單實現(xiàn)代碼

    Android側(cè)滑效果簡單實現(xiàn)代碼

    這篇文章主要為大家詳細(xì)介紹了Android側(cè)滑效果簡單實現(xiàn)代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • Android studio設(shè)置指定的簽名文件教程

    Android studio設(shè)置指定的簽名文件教程

    這篇文章主要介紹了Android studio設(shè)置指定的簽名文件教程,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03

最新評論

北安市| 青海省| 开远市| 罗甸县| 勐海县| 宝鸡市| 和平县| 营口市| 砀山县| 红河县| 泗洪县| 青冈县| 东乌珠穆沁旗| 谷城县| 定边县| 黎平县| 米泉市| 区。| 朝阳市| 涪陵区| 凤山县| 崇阳县| 襄城县| 临邑县| 剑河县| 石景山区| 黄平县| 周口市| 济阳县| 綦江县| 自治县| 溧水县| 绥德县| 柳江县| 本溪市| 旬阳县| 玉树县| 南丹县| 都江堰市| 林芝县| 雷波县|