1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關咨詢
      選擇下列產品馬上在線溝通
      服務時間:8:30-17:00
      你可能遇到了下面的問題
      關閉右側工具欄

      新聞中心

      這里有您想知道的互聯(lián)網營銷解決方案
      AndroidApp調試的命令有哪些

      本篇內容主要講解“Android App調試的命令有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Android App調試的命令有哪些”吧!

      成都創(chuàng)新互聯(lián)堅持“要么做到,要么別承諾”的工作理念,服務領域包括:網站建設、網站制作、企業(yè)官網、英文網站、手機端網站、網站推廣等服務,滿足客戶于互聯(lián)網時代的防城港網站設計、移動媒體設計的需求,幫助企業(yè)找到有效的互聯(lián)網解決方案。努力成為您成熟可靠的網絡建設合作伙伴!

      1.logcat命令

      這個命令最簡單常用,可查看幫助,我不多說,如果需要打印時間,加參數(shù)-v time

      adb logcat -v time

      2.bugreport命令

      這個命令也非常簡單,但是在實際應用中非常有用,會有從開機之后詳細的dumpsys,dumpstate和logcat信息,是一份完整的日志記錄。對分析用戶行為,異常信息,系統(tǒng)狀態(tài)有很大的參考作用。一般我們會把bugreport導出到電腦上分析。

      1adb bugreport > xxx.log

      我再次強調,bugreport里面包含豐富的系統(tǒng)和用戶信息,它是其他很多命令輸出的結果的記錄,非常有用。

      3.dumpsys命令

      這個查看系統(tǒng)信息,用的還是比較多的.

      dumpsys [options]

      meminfo 顯示內存信息

      cpuinfo 顯示CPU信息

      account 顯示accounts信息

      activity 顯示所有的activities的信息

      window 顯示鍵盤,窗口和它們的關系

      wifi 顯示wifi信息

      例如查看某個程序內存信息:

      #查看應用com.tianxia.test的內存使用情況

      adb shell dumpsys meminfo com.tianxia.test

      效果圖如下:

      Android App調試的命令有哪些

      里面的信息很有價值,尤其對于分析內存泄露,內存溢出都有極大的作用。

      4.top命令

      這個查看cpu信息太方便了。

      1top -m 5 -t

      我們看看效果圖,其中按cpu大小列出5個進程列表。

      Android App調試的命令有哪些

      com.tianxia.test的cpu過高,會導致手機發(fā)燙。同時利用這個信息,可以監(jiān)控應用cpu的使用,以調整優(yōu)化代碼。

      5.配置文件local.prop

      目前網上沒有查到local.prop的配置使用,工作中本人只使用過如下:

      1log.tag.SQLiteStatements=VERBOSE log.tag.SQLiteTime=VERBOSE

      把上述文本加到/data/local.prop中,如果沒有這個文件自行創(chuàng)建。然后重啟手機,就能看到每個應用詳細的查詢數(shù)據(jù)庫的sql語句信息,對于調試數(shù)據(jù)庫,分析和優(yōu)化數(shù)據(jù)庫sql異常非常有用。

      6.分析手機發(fā)燙

      下面我們來實踐一個例子,手機發(fā)燙太厲害,怎么找出問題?

      首先我們寫一個程序com.tianxia.test,死循環(huán),核心代碼如下:

      8@Override

      public void onCreate(Bundle savedInstanceState) {

      super.onCreate(savedInstanceState);

      setContentView(R.layout.main);

      while(true) {

      System.currentTimeMillis();

      }

      }

      這個應用打開后會一直獲取系統(tǒng)時間,因為在主線程,肯定導致應用ANR,也會一直浪費系統(tǒng)cpu,手機發(fā)熱,我們運行它。

      假設我們不知道上述代碼,我們來找到這個問題:

      (1).找到發(fā)燙的應用。

      使用top命令:

      1top -m 5 -t

      Android App調試的命令有哪些

      一看是com.tianxia.test占用85%的cpu,原來是這家伙在搗鬼。進程ID是644,這個后面我們有用。

      (2).分析發(fā)燙的應用進程在干嘛

      需要用到linux下的strace命令,但是android是沒有集成這個命令的,android版本的下載地址:

      http://benno.id.au/android/strace

      下載完成后,上傳到手機中:

      我們adb push strace /system/bin,在模擬器上是上傳到/system/bin會報out of memory錯誤,我們也可以上傳到/data目錄下,如果沒有執(zhí)行權限,還需要chmod 777 strace.

      strace命令有很多參數(shù),直接執(zhí)行strace會顯示使用說明:

      Android App調試的命令有哪些

      其中-p參數(shù)輸入的就是進程號,***步中我們找到com.tianxia.test的進程ID是644,我們看看這個應用占用這么高的cpu在干嘛?

      ?

      1strace -p 644

      輸出如下:

      Android App調試的命令有哪些

      它的系統(tǒng)調用一直是gettimeofday,一直輸出這個,顯然哪里一定進入死循環(huán)了,而是是獲取時間的死循環(huán),然后結合logcat和代碼,定位這段代碼(就是前面我們給出的那段代碼了)解決這個bug。

      7.采集手機的cpu運行情況.

      有時使用日志我們很難針對性的獲取我們想要的信息,我們可能需要寫一些最簡單的腳步放在手機里面執(zhí)行。

      如監(jiān)控cpu占用的記錄cpu_log.sh:

      11# !/system/bin/sh

      #這個腳步比較粗糙,是這么個意思

      file=/sdcard/cpu/cpu_info.log

      rm $file

      until [ 1 -gt 10000 ]

      do

      echo -e "\n\n\n\n\n---------------">>$file

      date >> $file

      top -m 5 -n 1 >> $file

      sleep 3

      done

      每隔3s中就會把手機的cpu的信息寫到sdcard的cpu目錄下的cpu_info.log文件中,方便我們后續(xù)分析。

      ps:使用方法是 push到data目錄下,賦予可執(zhí)行權限,在shell下執(zhí)行即可。

      8.采集某個應用的內存數(shù)據(jù)

      這個實踐和上面的腳本類似,只是命令不一樣我另外單獨列出來,因為這個有時候很有用。

      比如,我們要采集com.tianxia.test的內存使用情況,分析它是不是會內存泄露,腳步類似:

      11# !/system/bin/sh

      #這個腳步比較粗糙,是這么個意思

      file=/sdcard/cpu/mem_info.log

      rm $file

      until [ 1 -gt 10000 ]

      do

      echo -e "\n\n\n\n\n---------------">>$file

      date >> $file

      dumpsys meminfo com.tianxia.test >> $file

      sleep 3

      done

      使用方法也是一樣。

      到此,相信大家對“Android App調試的命令有哪些”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!


      當前名稱:AndroidApp調試的命令有哪些
      地址分享:http://ef60e0e.cn/article/gssocs.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        云和县| 芜湖市| 高淳县| 青龙| 丹江口市| 望江县| 环江| 新巴尔虎右旗| 濉溪县| 贺兰县| 和平县| 富民县| 集贤县| 丘北县| 隆回县| 读书| 林周县| 安乡县| 阜宁县| 白山市| 翁源县| 高淳县| 永城市| 铜川市| 霍林郭勒市| 云龙县| 姚安县| 娄烦县| 崇信县| 中方县| 阜新| 和田市| 项城市| 宿迁市| 眉山市| 北海市| 石台县| 应用必备| 肇庆市| 忻城县| 泸西县|