導航:首頁 > 操作系統 > androidcpuadb

androidcpuadb

發布時間:2023-05-31 11:36:06

android學習之Build環境介紹


這里略過對android在手機上的文件系統框架的闡述(google或者都能幫助你找到對應的信息),主要看google是如何把生成合適的rootfs的工作整合到它的build體系當中,同時,會順帶看一下CyanogenMod中對應各種機型的build機制。
首先,來看一下Android的build系統中,使用到的編譯選項和相關工具
具體的目錄在:mydroid/build/tools/下
|-- acp
這是一個稍微改良的cp命令,用來應付在windows/MAC/linux下的cp命令的缺陷,其中的README很值得一看!
|-- adbs
這是一個用來查看crash問題的工具,詳細請看《Android調試工具之adbs》
|-- Android.mk
|-- apicheck
用來進行發布前的API檢查(參見mydroid/build/core/tasks/apicheck.mk),是否新編譯的系統中有破壞API兼容性或是非法的API
這里的代碼是用java寫的用來檢查編譯時生成的API相關信息的xml文件(mydroid/framework/base/api/中),可以參考裡面對於xml文件解析的代碼
|-- apriori
實現prelink的工具,簡單介紹參見(mydroid/bionic/linker/README.TXT)
|-- atree
為android SDK服務的一個工具,用來按照指定xxx.atree文件中的內容進行一些文件操作
|-- bin2asm
不太明白具體的用處,應該是用來應付mac上編譯android一些與gcc相關的問題
|-- buildinfo.sh
生成target中的各種xxx.prop文件,如system.prop, build.prop等
|-- check_builds.sh
包裝了diff,用來看2個發布版本之間變化
|-- check_prereq
device上進行ota升級時的工具之一
|-- compare_fileslist.py
與check_builds.sh配合完成版本比較的腳本
|-- droiddoc
Android更具javadoc的一些移植
|-- mp-package-stats
簡單的查看一個jar/apk文件內的dex和其它文件的大小信息
|-- event_log_tags.py
處理event-log-tags的內容,關於event-log-tags文件的意義參見《Android學習之event-log-tags是神馬》
|-- fileslist.py
簡化的列出指定目錄下所有文件及大小的腳本 -- 可以放入自己的工具庫了使用:)
|-- findleaves.py
在指定目錄中(可多個)找指定文件的腳本 -- 可以放入自己的工具庫了使用:)
|-- fixlinebreaks.sh
把windows中的換行改為linux下的 -- 可以放入自己的工具庫了使用:大散蘆)
|-- fs_config
列出指定文件夾滾帶及文件的許可權
|-- fs_get_stats
得到指定文件夾下文件的簡單stats信息
|-- iself
判斷文件是否是ELF格式
|-- isprelinked
判斷文件是否是prelink過的
|-- java-event-log-tags.py
處理event-log-tags的內容,關於event-log-tags文件的意義參見《Android學習之event-log-tags是神馬》
|-- kcm
key character map的工具, 相關資料參照:
|-- lsd
!!!!!! ???
|-- merge-event-log-tags.py
處理event-log-tags的內容,關於event-log-tags文件的意掘野義參見《Android學習之event-log-tags是神馬》
|-- mktarball.sh
與fs_get_stats配合而執行的打包工具
|-- print_mole_licenses.sh
顯示當前目錄下所有mole信息
|-- releasetools
-- check_target_files_signatures
|-- common.py
|-- edify_generator.py
|-- img_from_target_files
|-- ota_from_target_files
`-- sign_target_files_apks
|-- rgb2565
rgb轉換工具
|-- signapk
命令行下對jar包簽名的工具
|-- soslim
Android定製的編譯工具之一,簡單介紹參見(mydroid/bionic/linker/README.TXT)
|-- warn.py
解析Android系統編譯log的工具
`-- zipalign
zipfile的對齊工具,參見該文件夾下的README.TXT
#p#副標題#e#
在來看看Android編譯系統中定義的一些通用XXX.mk文件
mydroid/build/core/
|-- armelflib.x
|-- armelf.x
|-- armelf.xsc
|-- base_rules.mk
|-- binary.mk
|-- build_id.mk
|-- build-system.html
|-- checktree
|-- cleanbuild.mk
|-- cleanspec.mk
|-- clear_vars.mk
|-- combo
|-- config.mk
|-- _headers.mk
|-- definitions.mk
|-- device.mk
|-- dex_preopt.mk
|-- distdir.mk
|-- droiddoc.mk
|-- mpvar.mk
|-- dynamic_binary.mk
|-- envsetup.mk
|-- executable.mk
|-- filter_symbols.sh
|-- find-jdk-tools-jar.sh
|-- help.mk
|-- host_executable.mk
|-- host_java_library.mk
|-- host_native_test.mk
|-- host_prebuilt.mk
|-- host_shared_library.mk
|-- host_static_library.mk
|-- java_library.mk
|-- java.mk
|-- legacy_prebuilts.mk
|-- main.mk
|-- Makefile
|-- multi_prebuilt.mk
|-- native_test.mk
|-- node_fns.mk
|-- notice_files.mk
|-- package.mk
|-- pathmap.mk |-- phony_package.mk
|-- prebuilt.mk
|-- process_wrapper_gdb.cmds
|-- process_wrapper_gdb.sh
|-- process_wrapper.sh
|-- proct_config.mk
|-- proct.mk
|-- proguard.flags
|-- proguard_tests.flags
|-- raw_executable.mk
|-- raw_static_library.mk
|-- root.mk
|-- shared_library.mk
|-- static_java_library.mk
|-- static_library.mk
|-- tasks
|-- user_tags.mk
`-- version_defaults.mk
#p#副標題#e#
這里,目錄在mydroid/build/core/tasks/有一些特別的task
|-- apicheck.mk, 判斷api是否符合AOSP的規范
|-- cts.mk cts測試, 可以在代碼根目錄, make cts, 編譯結束之後,進入out/host/linux-x86/bin/下,執行cts命令
|-- ide.mk IDE開發環境
|-- proct-graph.mk
`-- sdk-addon.mk
NDK的build環境沒有包含在標注難得AOSP的/build/目錄下
而是在mydroid/ndk/build下
$ cd ndk/build/tools
$ export ANDROID_NDK_ROOT=aosp-root/ndk
$ ./make-release --help
一些小技巧
如何顯示每次編譯所包含的所有xxx.mk文件
找到build/core/main.mk
把include $(subdir_makefiles)替換為
[plain] view plain $(foreach subdir_makefile, $(subdir_makefiles),
$(info Including $(subdir_makefile))
$(eval include $(subdir_makefile)))
subdir_makefile :=
如果遇見API相關的PACKAGING/checkapi-current-timestamp] Error 38
需要執行:make update-api
如何在AOSP代碼目錄之外編譯
[plain] view plain # Paths and settings
TARGET_PRODUCT = generic
ANDROID_ROOT = /home/karim/android/aosp-2.3.x
BIONIC_LIBC = $(ANDROID_ROOT)/bionic/libc
PRODUCT_OUT = $(ANDROID_ROOT)/out/target/proct/$(TARGET_PRODUCT)
CROSS_COMPILE =
$(ANDROID_ROOT)/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-
# Tool names
AS = $(CROSS_COMPILE)as
AR = $(CROSS_COMPILE)ar
CC = $(CROSS_COMPILE)gcc
CPP = $(CC) -E
LD = $(CROSS_COMPILE)ld
NM = $(CROSS_COMPILE)nm
OBJCOPY = $(CROSS_COMPILE)obj
OBJDUMP = $(CROSS_COMPILE)objmp
RANLIB = $(CROSS_COMPILE)ranlib
READELF = $(CROSS_COMPILE)readelf
SIZE = $(CROSS_COMPILE)size
STRINGS = $(CROSS_COMPILE)strings
STRIP = $(CROSS_COMPILE)strip
export AS AR CC CPP LD NM OBJCOPY OBJDUMP RANLIB READELF
SIZE STRINGS STRIP
# Build settings
CFLAGS = -O2 -Wall -fno-short-enums
HEADER_OPS = -I$(BIONIC_LIBC)/arch-arm/include
-I$(BIONIC_LIBC)/kernel/common
-I$(BIONIC_LIBC)/kernel/arch-arm
LDFLAGS = -nostdlib -Wl,-dynamic-linker,/system/bin/linker
$(PRODUCT_OUT)/obj/lib/crtbegin_dynamic.o
$(PRODUCT_OUT)/obj/lib/crtend_android.o
-L$(PRODUCT_OUT)/obj/lib -lc -ldl
# Installation variables
EXEC_NAME = example-app
INSTALL = install
INSTALL_DIR = $(PRODUCT_OUT)/system/bin
# Files needed for the build
OBJS = example-app.o
# Make rules
all: example-app
.c.o:
$(CC) $(CFLAGS) $(HEADER_OPS) -c {1}lt;
example-app: ${OBJS}
$(CC) -o $(EXEC_NAME) ${OBJS} $(LDFLAGS)
install: example-app
test -d $(INSTALL_DIR) || $(INSTALL) -d -m 755 $(INSTALL_DIR)
$(INSTALL) -m 755 $(EXEC_NAME) $(INSTALL_DIR)
clean:
rm -f *.o $(EXEC_NAME) core
distclean:
rm -f *~
rm -f *.o $(EXEC_NAME) core
如何增加一個新的設備
[plain] view plain $ cd ~/android/aosp-2.3.x
$ . build/envsetup.sh
$ mkdir -p device/acme/coyotepad
$ cd device/acme/coyotepad
進入AndroidProcts.mk
PRODUCT_MAKEFILES :=
$(LOCAL_DIR)/full_coyotepad.mk
對於full_coyotepad.mk
$(call inherit-proct, $(SRC_TARGET_DIR)/proct/languages_full.mk)
$(call inherit-proct, $(SRC_TARGET_DIR)/proct/full.mk)
DEVICE_PACKAGE_OVERLAYS :=
PRODUCT_PACKAGES +=
PRODUCT_COPY_FILES +=
PRODUCT_NAME := full_coyotepad
PRODUCT_DEVICE := coyotepad
PRODUCT_MODEL := Full Android on CoyotePad, meep-meep
在BoardConfig.mk中
TARGET_NO_KERNEL := true
TARGET_NO_BOOTLOADER := true
TARGET_CPU_ABI := armeabi
BOARD_USES_GENERIC_AUDIO := true
USE_CAMERA_STUB := true
打開vendorsetup.sh
add_lunch_combo full_coyotepad-eng
#p#副標題#e#

② Android設置-->開發人員選項-->"桌面備份密碼" 什麼用途怎麼用

」桌面備份密碼「功能,可以備份整個手機的程序和數據,堪比鈦備份,而且不需要Root許可權

桌面備份功能數團,有可能解決大家刷機數據備份的問題。

③ Android App性能優化之耗電優化

在移動設備中,電池的重要性不言而喻,沒有電什麼都幹不成。對於操作系統和設備開發商來說,去追求更長的待機時間,耗電優化一直沒有停止。而對於一款應用來說,並不能忽略耗電問題,特別是那些被歸為「電池殺手」的應用,最終的結果是被卸載。因此,應用開發者在實現需求的同時,需要盡量減少電量的消耗(本文針對Android App進行分析)。

App耗電的原因其實很多,這里我就講以下幾種優化方案,優化方案的反面就是他的原因了,幾種優化方案如下:

1.合理的使用wake_lock鎖,wake_lock鎖主要是相對系統的休眠(這里就是為了省電,才做休)而言的,意思就是我的程序給CPU加了這個鎖那系統就不會休眠了,這樣做的目的是為了全力配合我們程序的運行。有的情況如果不這么做就會出現一些問題,比如微信等及時通訊的心跳包會在熄屏不久後停止網路訪問等問題。所以微信裡面是有大量使用到了wake_lock鎖。

2.使用jobScheler2,集中處理一些網路請求,有些不用很及時的處理可以放在充電的時候處理,比如,圖片的處理,APP下載更新等等;

3.計算優化,避開浮點運算等。

4.數據在網路上傳輸時,盡量壓縮數據後再傳輸,建議用FlatBuffer序列化技術,這個比json效率高很多倍,不了解FlatBuffer,建議找資料學習一下。

App耗電分析所用到的工具

App耗電高說到底無非是因為代碼不合理造成的,其中存在的一些問題,我們通過調試也很難定位到。在這里,我給大家分享一款工具,那就是「友盟+u-apm」應用性能監控平台了,是為了幫助開發者監測app應用使用的。它可以實時監測到app性能方面的問題,定位到問題所在處,開發者可以針對問題進行解決並修復。

友盟還通過輕量級的集成接入即可擁有實時、可靠、全面的應用崩潰、ANR、自定義異常等捕獲能力,及卡頓、啟動分析等性能能力,支持多場景、多通道智能告警監控,幫助開發者高效還原異常、卡頓用戶的訪問路徑和業務現場,縮短故障排查時間。

另外,友盟還提供了雲真機測試能力,提供了海量Android、iOS真機,通過資源集中管理,合理調度分配,為開發者提供發版前測試、發現線上問題後復現等場景使用,助力開發者平衡成本與需求,提升研發效率。助力開發者從研發測試質量驗收到線上問題復現排查,保障應用品質,提升測試效率。在雲真機測試期間自動採集崩潰信息,提供詳盡的崩潰報告協助篩查,真正實現監控測試全流程深度打通。為移動開發者提供了靈活地測試操作界面,支持ADB調試、WEB遠程調試、掃碼、抓包、虛擬定位等測試功能,並提供了測試報告供開發者後續查看。

友盟作為一款監測工具,可以幫助各位開發者監測app性能問題,還可以減輕開發者的負擔和壓力,簡直就是開發者的「得力小幫手」!

④ Android性能測試(內存、cpu、fps、流量、GPU、電量)——adb篇

3)查看進程列表:adb shell "ps",同時也能獲取到應用的UID,方式如下(不需root許可權):

u0_a開頭的都是Android的應用進程,Android的應用的UID是從10000開始,到19999結束,可以在Process.java中查看到(FIRST_APPLICATION_UID和LAST_APPLICATION_UID),u0_a後面的數字就是該應用的UID值減去FIRST_APPLICATION_UID所得的值,所以,對於截圖這個應用進程,它是u0_a155,按前面的規制,它的UID就是155 + FIRST_APPLICATION_UID = 10155。

VSS - Virtual Set Size 虛擬耗用內存(包含共享庫佔用的內存)
RSS - Resident Set Size 實際使用物理內存(包含共享庫佔用的內存)
PSS - Proportional Set Size 實際使用的物理內存(比例分配共享庫佔用的內存)
USS - Unique Set Size 進程獨自佔用的物理內存(不包含共享庫佔用的內存)
一般來說內存佔用大小有如下規律:VSS >= RSS >= PSS >= USS

使用 adb shell "mpsys meminfo -s <pakagename | pid>"命令,輸出結果分以下4部分:

PS:在apk內調用運行獲取其他app的內存數據則需要root許可權

adb命令:adb shell mpsys gfxinfo <package | pid>

正常情況下幀率應該在16.67ms左右,1秒60幀,執行結果如下:

詳細計算方法如下:

還有一個命令是: adb shell mpsys SurfaceFlinger --latency LayerName

其中LayerName在各個不同系統中獲取的命令是不一樣的
在Android 6系統直接就是SurfaceView
在Android 7系統中可以通過 mpsys window windows | grep mSurface | grep SurfaceView 然後通過數據截取到
在Android 8系統中可以通過 mpsys SurfaceFlinger | grep android包名獲取到

執行命令結果如下:

計算方法比較簡單,一般列印出來的數據是129行(部分機型列印兩次257行,但是第一部分是無效數據,取後半部分),取len-2的第一列數據為end_time,取len-128的第一列數據為start_time
fps = 127/((end_time - start_time) / 1000000.0)
至於為啥要取第一列數據,這里不做過多介紹,歡迎參看這兩篇文章
老羅的文章SurfaceView原理
Android性能測試之fps獲取
至於為啥要處於1000000,因為命令列印出來的是納秒單位,要轉為毫秒進行計算,127就是因為命令一次列印出來127幀的數據而已

有兩種方法可以獲取
1) adb shell "top -n 5 | grep <package | pid>" ,第三列就是實時監控的CPU佔用率(-n 指定執行次數,不需root許可權),這邊top命令執行需要2到3s左右,一般可以採用busybox 的top命令執行,效率會快很多

2) adb shell "mpsys cpuinfo | grep <package | pid>"
兩種方法直接區別在於,top是持續監控狀態,而mpsys cpuinfo獲取的實時CPU佔用率數據

adb命令:adb shell "mpsys batterystats < package | pid>" (Android 5.0後引入)
獲取單個應用的耗電量信息,具體返回結果待研究

adb命令:adb shell "mpsys battery"
出現信息解讀:
AC powered:false 是否連接AC(電源)充電線
USB powered:true 是否連接USB(PC或筆記本USB插口)充電
Wireless powered:false 是否使用了無線電源
status: 1 電池狀態,2為充電狀態,其他為非充電狀態
level:58 電量(%)
scale: 100. 電量最大數值
voltage: 3977 當前電壓(mV)
current now: -335232. 當前電流(mA)
temperature:355 電池溫度,單位為0.1攝氏度

adb 命令:adb shell "mpsys< package | pid> | grep UID" [通過ps命令,獲取app的UID(安裝後唯一且固定)]
adb shell cat /proc/uid_stat/UID/tcp_rcv [cat為查看命令,讀取tcp_rcv獲取應用接收流量信息(設備重啟後清零)]
adb shell cat /proc/uid_stat/UID/tcp_snd [cat為查看命令,讀取tcp_snd獲取應用發送流量信息(設備重啟後清零)]
計算流量消耗步驟:

或者還有一種方式獲取應用流量消耗:

首先判斷類型:
cat /sys/class/thermal/thermal_zone*/type

只有紅框框出來的是有效的
cat /sys/class/thermal/thermal_zone*/temp
獲取CPU溫度

mpsys battery | grep temperature 單位0.1攝氏度

獲取/proc/stat文件內容(無許可權限制)

總的cpu時間片是 total = user+nice+system+idle+iowait+irq+softirq
忙碌時間為 notidle = user+nice+system +iowait+irq+softirq
cpu使用率計算方法為,先取開始的total值和忙碌時間notidle,隔一段時間片,再取一次計算total2,notidle2, cpuuse = (notidle2 – notidle) * 100 / (total2 - total)%

PS:由於Android 8許可權收緊,在Android 8系統手機內apk內讀取文件內容為空,需要shell許可權才可獲取文件內容,下同

讀/sys/devices/system/cpu/cpuX/cpufreq/scaling_cur_freq文件的值,X不定,看是幾核手機,scaling_cur_freq是否存在也不一定,需要判斷

至於為啥不取cpuinfo_cur_freq文件的值,原因是android 6,7系統獲取的時候,這個文件shell沒有讀取許可權,需要root許可權

參考文章: https://blog.csdn.net/long_meng/article/details/45934899

Android 6,7系統可執行
mpsys window windows | grep "mCurrentFocus"

執行結果一般為類似:
mCurrentFocus=Window{81caaa5 u0 com.tencent.mobileqq/com.tencent.mobileqq.activity.SplashActivity}
按照一定規則把com.tencent.mobileqq提取出來即可

直接apk內讀取文件即可,不需要shell許可權(支持到Android8)
Gpu使用率獲取:會得到兩個值,(前一個/後一個)*100%=使用率
adb shell cat /sys/class/kgsl/kgsl-3d0/gpubusy

Gpu工作頻率:
adb shell cat /sys/class/kgsl/kgsl-3d0/gpuclk
adb shell cat /sys/class/kgsl/kgsl-3d0/devfreq/cur_freq

Gpu最大、最小工作頻率:
adb shell cat /sys/class/kgsl/kgsl-3d0/devfreq/max_freq
adb shell cat /sys/class/kgsl/kgsl-3d0/devfreq/min_freq

Gpu可用頻率
adb shell cat /sys/class/kgsl/kgsl-3d0/gpu_available_frequencies
adb shell cat /sys/class/kgsl/kgsl-3d0/devfreq/available_frequencies

Gpu可用工作模式:
adb shell cat /sys/class/kgsl/kgsl-3d0/devfreq/available_governors

Gpu當前工作模式:
adb shell cat /sys/class/kgsl/kgsl-3d0/devfreq/governor

⑤ adb 指令獲取的手機cpu為什麼都是100多

1. 打開終配嫌端,進入上述目錄,如下圖所示:

2. 輸入adb shell,打開adb命令行,如下圖所示:

3. 查看cpu使用情況:
輸入命令:top -m 10 -s cpu(-m顯示最大數量,-s 按指定行排序),如下圖所示:

參數含義:
PID : progress identification,應用程序ID
S : 進程的狀態,其中S表示休眠,R表示正在運行,Z表示僵死狀態,N表示該進程優先值是負數
#THR : 程序當前所用的線程數
VSS : Virtual Set Size虛擬耗用內存(包含共享庫佔用的內存)
RSS : Resident Set Size實際使用物理內存(包含共享庫佔用的內存)
PCY : 前台(fg)和後台培慧手(bg)進程
UID : UserIdentification,用戶身份ID
Name : 應用程序名稱
(注意第一列的pid,使用pid值可以查看當前程序的內存使用情況。)
4. 查看指定程序內存使用情況:
輸入命令:mpsys meminfo pid,比如查看手機安裝的360安全衛士,碧神那麼實際命令應該為:mpsys meminfo 3253,如下圖所示:

[plain] view plain

參數含義:
dalvik : dalvik使用的內存
native : native堆上的內存,指C\C++堆的內存(android 3.0以後bitmap就是放在這兒)
other : 除了dalvik和native的內存,包含C\C++非堆內存······
Pss : 該內存指將共享內存按比例分配到使用了共享內存的進程
heap alloc : 已使用的內存
heap free : 空閑的內存
share dirty : 共享,但有不能被換頁出去的內存
private dirty : 非

⑥ 如何查看手機的cpu類型是x86還是arm

您好,很高興為您解答。

首先您可以先查詢一下自己的手機型號使用的是什麼型號的cpu,現在市面上高通的cpu使用的是自己的內核,而華為的海思,聯發科,獵戶座等等使用的是arm的內核,用x86內核的手機cpu已經很少見了,但是也不一定沒有。

您可以下載一個安兔兔評測,查看硬體配置,查看cpu可以看到架構上的顯示,就知道自己的cpu是什麼類型了。

希望可以幫助到您。

⑦ adb 命令查看 手機 CPU信息

查看仔模Android設備的CPU架構信息冊裂,可以使用念姿緩命令來完成:
1、adb shell
2、cat /proc/cpuinfo

解析說明:
processor: 0/1 表示第幾個核。
BogoMIPS:偽MIPS,用於測量CPU速度
Features:表示當前CPU所支持的特性,比如neon,vfp等。
CPU architecture:7表示arm-v7,8表示arm-v8

⑧ 開發者選項

怎麼打開開發者選項
1、首先在關於手機裡面,點擊「手機配置信息」,然後點擊版本號。

2、在版本號上連續點擊六次即可打開開發者選項。 3、返回設置即可看到開發者選項。

4、該功能打開後就可以開啟相應的功能,比如u *** 調試,或者允許模擬位置等。 (8)androidcpuadb擴展閱讀 只有開啟了USB調試模式,與電腦連接時才能進行下載軟體,一鍵root,備份聯系人等功能。

由於開啟u *** 調試模式比較麻煩,所以有一些開發者為操作更友好開發了u *** 調試模式開啟工具,目前市面上比較常見的是金山手機控u *** 調試模式開啟工具。 在USB調試模式下,手機只要連接電腦,就相當於獲得了最高控制權,讀取聯系人、簡訊、手機文件都非常方便。

而且任何鎖屏都不堪一擊,只需下載一個解鎖軟體,或者root後刪除源文件,鎖屏就輕松破解了。這樣手機中的信息就會泄露。

所以建議在與電腦使用結束後,及時關閉USB調試,以保障信息安全。 參考資料來源:網路-u *** 調試模式。
突然發現開發者選項,有什麼作用
第一項:提交錯誤報告 將本機上安卓系統的出錯日誌以及硬體設備信息發送給谷歌。

建議:當然不想泄露自己隱私的話,不要使用! 第二項:桌面密碼備份 設置或更新桌面完整備份的密碼。建議:沒必要設置,誰動你的備份~ 第三項:保持喚醒狀態不鎖定屏幕 說明文字已經很清楚了:充電時屏幕不會休眠。

建議:關閉 第四項:啟用藍牙HCI信息收集日誌 藍牙互傳文件會被記錄頌滑團日誌。建議:藍牙都很少用到了,這個日誌就更沒必要記錄了 第五項:進程統計信息 安卓4.4新增給力功能,每個進程的運行時長百分比,ram使用率,相關後台服務統計情況一目瞭然。

這才是真正意義上的任務管理器,大贊! 第六項:USB調試 嗯,怎麼介紹它呢?反正很有用就是了,允許外部程序尤其是PC端程序通過adb命令管理手機。安卓系統最有趣也是最吸引人的開放性就是由它控制的。

建議:必開,不再多解釋! 第七項:撤銷USB調試授權 顧名思義,撤銷所有已連接過的電腦調試授權,下次連接又要重新安裝驅動。建議:不嫌麻煩的可以點擊確認:) 第八項:電源鍵菜單錯誤報告 也是意思很清晰明白了。

建議:一樣絕不使用! 第九項:允許模擬地點 真正為開發人員設置的一個選項。軟體開發人員對開發的某些定位軟體(一般為地圖軟體),做測試的時候使用的,功能是模擬手機目前所處的位置(比如手機當前實際位置在中國,但測試軟體時要求測試條件為美國,就可以使用該功能進行測試軟體模擬定位)。

建議:沒事就別開了。 第十項:選擇調試應用 同樣的如假包換的開發者選項。

建議:無視吧 第十一項:顯示觸摸操作 很好玩的一個選項,開啟後,手指點擊的地方就顯示一個小圓點。我試了試五個手指同時放上去,果然就是五個小圓點(我是有多無聊。

。)

。建議:玩玩還可以,日常使用就別開了。

第十二項:指針位置 以十字橫縱坐標的方式顯示你觸摸的位置,如果是滑動的話,就是一條線的軌跡。建議:裝B可用,平常關閉 第十三項:顯示屏幕更新 當滾動屏幕或觸控或者系統自動刷新使得屏幕上的某塊區域重新繪制時,該區域閃爍。

建議:別開,容易亮瞎咱們的24k鈦合金眼。 第十四項野橘:顯示布局邊界 顯示當前頁面各個組件的邊界框架信息,對於開發人員參考好的app設計有些幫助。

建議:關閉。 第十五項:窗口動畫縮放、第十六項:過渡動畫縮放、第十七項:動讓春畫程序時長調整 這三項決定了你對整個rom的動態感官體驗。

比如啟動app、桌面滑屏、確認框的彈出等,有了動畫就會顯得很順滑以及和諧。關閉了或調節比例越低,會顯得切換動作較為生硬,但好處是對系統資源佔用就會降低。

建議:保持前兩個為0.5x,最後一個為1x,在性能和體驗中間取個平衡。 第十八項:模擬輔助顯示設備 不明白用途。

建議:不要動,保持原樣。 第十九項強制GPU渲染 值得重點介紹的一個選項。

安卓的軟體應用的界面可以使用cpu或gpu渲染,包括桌面。由於gpu處理圖形比cpu好,所以gpu渲染應用的界面會更流暢,同時減輕cpu的負擔。

gpu強制渲染就是hwa(hard ware acceleration硬體加速)的一種,能夠得到更好的優化。 但強制gpu也是有缺陷的。

第一是強制GPU加速功能會增加功耗,降低待機時間。第二是,部分舊程序本身不支持gpu渲染,沒有硬體加速hwa的就會出現崩潰。

比較老的程序因為SDK版本低不支持gpu加速,或者開發時默認不開啟gpu渲染,遇上gpu強制渲染就會出現問題。建議:個人認為在現在開啟和關閉都沒有什麼問題,看個人喜好,我是開啟的,也沒發現什麼問題。

第二十項:顯示GPU視圖更新 屏幕上的區域更新時閃爍響應的屏幕區域各種閃爍。建議:關 第二十一項:顯示硬體層更新 硬體層更新。

哪會有更新,所以你勾選與不勾選沒有什麼意義。建議:沒意義的就關了吧。

第二十二項:調試GPU過度繪制 當使用GPU繪圖時,在屏幕上繪制不同的顏色來表明過度繪制的情況。過度繪制情況的好壞通過顏色來表示,從藍色、綠色、淡紅色到紅色 ,分別代表從好到壞的漸變(1x過度繪制、2x過度繪制、3x過度繪制和超過4x過度繪制)。

界面上存在少量的淡紅色可以接受,但如果存在較多的大紅色就代表過度繪制有點嚴重了。暢玩總的來說還好,以正常色和藍綠色居多,說明GPU很智能。

突然發現「全部設置」和「常用設置」兩個標題是深紅色,過度繪制。

。建議:關閉,這么多藍藍綠綠紅紅的誰受得了。

第二十三項:調試非矩形剪裁操作 這個選項真沒明白,開啟與關閉都沒什麼變化,估計是深入到安卓系統核心的開發人員才關注。建議:關閉。

第二十四項:強制啟用4x MSAA 4倍抗鋸齒,游戲達人應該對此很熟悉。經過小貝實測,對於暢玩的GPU來說,開啟此選項不會明顯的增加手機的發熱量,對於續航也影響不大,當然這是建立在我的游戲時長比較短的情況下。

但對畫質的提升還是蠻明顯的,地鐵跑酷、極品飛車,游戲畫面的邊緣都有了明顯改善,更為細膩圓潤。建議:游戲達人,開;普通用戶,隨意。

第二十五項:停用HW疊加層 停用的話,所有應用將共享視頻內存,將不會經常檢查碰撞與裁剪以顯示一個合適的。
如何打開開發者選項
打開開發者選項的步驟如下:

1.打開手機設置。

2.點擊「關於手機」。

3.一直點擊版本號,在點擊過程中會提示「還有*次,直到打開「開發人員選項」。

4.點擊返回到設置主界面,「開發者選項」就出現了。

5.點擊開發者選項就進入「開發者選項」頁面了。這樣就解決了打開開發者選項的問題了。
vivo手機的開發者選項在哪???
1、首先,打開手機,選擇「設置」 2、然後進入「更多設置」 3、再然後進入「關於手機」 4、然後進入「版本信息」 5、「軟體版本號」開始快速的點擊5-7次(要快速哦),點擊後,會有提示 6、再回到第二步「更多設置」拉倒最後,隱藏的「開發者選項」出來了。

(8)androidcpuadb擴展閱讀: 手機是行動電話,或稱為無線電話,通常稱為手機,原本只是一種通訊工具,早期又有大哥大的俗稱,是可以在較廣范圍內使用的攜帶型電話終端,最早是由美國貝爾實驗室在1940年製造的戰地行動電話機發展而來。 手機分為智能手機(Smart phone) 和非智能手機(Feature phone),一般智能手機的性能比非智能手機要好,但是非智能手機比智能手機性能穩定。
開發者選項是什麼意思
安卓手機都有一個開發者選項,為手機的工程調試設置項。

一般用USB連接電腦管理手機時,需要把開發者選項里的【USB調試開關打開】。

開發者選項基本功能:

1.調試模式

USB調試是安卓系統對外部程序開放許可權,外部程序如果要接管或者參與系統控制,就必須要把USB調試模式給打開,否則外部程序無法實現功能。

2.桌面備份密碼

「桌面備份密碼」是開發者選項中的第一個設置項,從4.0開始,開發者就可以通過最新的SDK(軟體開發工具包)來備份手機系統,這個選項的功能就是事先設置一個備份密碼,當開發者通過SDK備份手機系統時,需要先輸入已經設置好的密碼才可以備份,最大程度保證系統安全。

3.監控選項

監控cpu和GPU使用情況,為了讓開發者觀察應用對資源的佔用情況。

4.強制GPU渲染

開啟強制GPU渲染無疑會提高系統的流暢度,但是安卓系統並不能自動調節GPU渲染的開關,只能手動設置,所以開啟GPU渲染也同樣會加重cpu負擔,使的手機耗電量和發熱量增加。

5.窗口動畫比例,過度動畫比例,桌面陰影效果

這些選項都是讓系統桌面滑動時候增加一些特效,當然也會拖慢系統流暢度,可以根據自己喜好選擇。

6.應用程序

安卓系統的後台程序被分為兩類,一類是qq、微博等 「高許可權」的應用,這些應用在後台依然會保留原本的服務和許可權,並且常駐內存;還有一些游戲程序等「低許可權」的應用,只是將一些緩存放在ram中,方便我 們切換和載入。通過在「應用程序」分類中設置「不保留活動」,來節省一些內存,當然並不影響「高許可權」程序的後台運行。
誰能給我解釋一下,開發者選項里的每一項都有什麼用?如圖
大同小異,參照看一下吧: Android開發者選項里的主要功能詳解第一項:提交錯誤報告。

這個不需多說,提交當前設備狀態的信息以郵件形式發送。 第二項:桌面備份密碼。

在這里可以設置或更改桌面完整備份的密碼,據估計是谷歌在線備份的相關應用功能。就不要動了。

第三項:不鎖定屏幕 底下的描述很清楚,充電的時候屏幕不會自動關閉。不建議開啟。

第四項:對SD卡進行讀防寫 這一項千萬別動,防寫之後,你無法更改,刪除存儲卡里的文件。需要用電腦解除許可權保護才可以! 第五項:USB調試 USB調試是安卓系統對外部程序開放許可權,有一些程序如果要接管或者參與系統控制的話,就必須要把USB調試模式給打開,否則外部程序無法實現功能,所以平時一直開著就可以啦! 第六項:電源鍵菜單錯誤報告 在電源鍵菜單中添加提交錯誤報告的選項。

第七項: USB調試通知 開啟後,連接USB,如果USB調試處於打開狀態,則通知欄會出現一個」小鬼頭「,如圖,拉下通知,會告訴你USB調試已經打開。 第八項:允許模擬位置 是允許模仿位置是軟體開發人員對開發的某些定位軟體(一般為地圖軟體),做測試的時候使用的,功能是模擬手機目前所處的位置(比如手機當前實際位置在中國,但測試軟體時要求測試條件為美國,就可以使用該功能進行測試軟體模擬定位)。

第九項:選擇調試應用 這個選項是允許開發者在電腦上調試手機應用。一般情況下無用。

第十項:等待調試器: 這個沒有就沒有用,無法操作。 第十一項:通過USB驗證應用: 通過檢查安裝的應用是否存在有害行為,默認是選擇的。

不需設置。 第十二項:顯示觸控操作 為觸摸操作提供視覺提示(一個小圓點,挺好玩的),最多試過十點都可以顯示。

第十三項:指針位置 屏幕疊加層顯示當前觸摸數據,在屏幕上層疊加一層與當前進程不沖突的顯示平面,以橫坐標縱坐標交叉的定位方式,定位你的手指在屏幕上劃過的軌跡,支持多點的坐標位置顯示。 第十四項:顯示布局邊界 把屏幕里的視覺元素切割成無數個部分,這個普通用戶無用。

第十五項:顯示GPU視圖更新 屏幕上的區域更新時閃爍響應的屏幕區域各種閃爍 第十六項: 和十五項雷同,只不過這個是整個屏幕都跟著閃爍……對此功能比較無語 第十七,十八,十九項 這個是更改窗口動畫速度的,就是我們常說的特效動畫的速度。 第二十項:通用HW疊加層 這個選項比較有爭議, 如果沒有這個,所有應用將共享視頻內存,將不會經常檢查碰撞與裁剪以顯示一個合適的圖像(什麼玩意?),這會耗費大量處理能力。

而HW疊加層允許應用有單獨的視頻內存,性能自然要好些。綜上所述,「停用HW疊加層」還是不要勾選的好 第二十一項:強制GPU渲染 在應用程序中使用2d程序加速,以前版本的圖形界面的渲染工作只有部分由GPU來完成,其他的還是由CPU來做,選上這個就是強制由GPU來渲染,減輕CPU的壓力,就是俗稱的硬體加速,會增加界面的流暢程度。

但是有一些程序是不兼容的,很容易閃退。大部分程序,QQ,UC,微信之類的都沒事 。

建議打開這一項。 第二十二項:強制啟用4xMSAA: 抗鋸齒,讓游戲人物等東西的邊緣看著更柔和,更平滑,開啟後,畫質有大幅的提升。

第二十三項:啟動嚴格模式 應用程序在主線程上執行長時間操作時,屏幕閃爍!在你打開某個應用後,點返回退出但在進程中仍然運行,長時間後屏幕會閃爍提示你在主線程上還是正在運行的應用程序。 第二十四項:顯示CPU使用情況 在屏幕上層疊加一層與當前進程不沖突的顯示平面,右上角顯示當前CPU正在處理的進程。

第二十五項:GPU呈現模式分析 這個暫時有什麼作用,我也不太清楚……抱歉了 第二十六項:啟用openGL跟蹤 圖形視角效果器,是手機製作圖片軟體的輔助工具,比如ps三d立體圖,需要啟用這個工具才能實現再編輯過程中的圖片旋轉,放大縮小復位等。 第二十七項:啟用跟蹤 貌似這個功能是程序開發者追蹤函數用的。

勿動 第二十八項:不保留活動 用戶離開後即銷毀每個活動,這個選項有利也有弊啊!它可以使你的系統運行更加流暢,但是在某些情況下,比如:我們從第一個文件夾復制東西到第2個文件夾 在回到第一個文件夾復制的地方時 ,又要重新尋找剛剛復制的那個地方 這點比較麻煩。還有地方特別是字數條目比較多的地方。

我們在子菜單不操作時按返回鍵推出的話沒有必要在使用它。 第二十九項:後台程序限制 自定義允許後台的程序個數 第三十項:顯示所有「無響應」 為後台應用程序顯示應用「程序無響應」對話框,就是很多在後台運行的你並看不到的進程,如果它無響應了,系統會顯示該無響應進程的無響應對話框。
開發者選項設置技巧有什麼害處?
沒什麼害處,關鍵你自己要習慣,那裡面都是改變手機操作和視覺效果的東西。

不但沒什麼害處,正確的設置開發者選項,可以提升手機的流暢度。 以下為設置開發者選項來提升手機流暢度的步驟: 1、打開手機設置,點擊「關於手機」。

2、連續點擊「版本號」直到出現提示「您正處於開發者模式」。 3、回到上一個界面,設置中多出了開發者選項,點進去。

4、將後面的開關打開。 5、允許設置,點擊「確定」。

6、這里可以設置對u *** 調試的授權,還有一些其它設置。 7、繼續向下瀏覽,將畫面停在「繪圖」位置,從這里開始我們對手機的設置才會改變手機流暢度。

8、將圖中三個選項後面的倍數全部改為「0.5x」,改完之後我們在手機其它界面可以試著感受一下,確實,應用的讀取還有過渡畫變得快了很多。 9、除了動畫時間,影響我們手機流暢度的最主要的其實是後台進程,很多時候卡頓都是由於後台進程過多造成的,所以一直將頁面下滑,找到「後台進程限制」。

10、在這里設置不得超過1個,或者不允許後台進程,這樣,CPU就不會被佔用太多,設置的後台進程越少,實際使用的體驗越流暢。 。

⑨ android 高通cpu怎麼用adb查看mem

.一、利用Android API函數查看
1.1 ActivityManager查看可用內存。
ActivityManager.MemoryInfo outInfo = new ActivityManager.MemoryInfo();
am.getMemoryInfo(outInfo);
outInfo.availMem即為可用空閑凱畝睜內存。
1.2、android.os.Debug查詢PSS,VSS,USS等單個進程使用內存信息
MemoryInfo[] memoryInfoArray = am.getProcessMemoryInfo(pids);
MemoryInfo pidMemoryInfo=memoryInfoArray[0];
pidMemoryInfo.getTotalPrivateDirty();

getTotalPrivateDirty()
Return total private dirty memory usage in kB. USS

getTotalPss()
Return total PSS memory usage in kB.
PSS
getTotalSharedDirty()
Return total shared dirty memory usage in kB. RSS

二、直接對Android文件進行解析查詢,
/proc/cpuinfo系統CPU的類型等多種信息。
/proc/meminfo 系統內存使用信息

/proc/meminfo
MemTotal: 16344972 kB
MemFree: 13634064 kB
Buffers: 3656 kB
Cached: 1195708 kB
我們查看機器內存時,會發現MemFree的值很小。這主要是因為,在linux中有這么一種思想,內存不用白不用,因此它盡可能的cache和buffer一些數據,以方便下次使用。但實際上這些內存也是可以立刻拿來使用的。
所以 空閑內存=free+buffers+cached=total-used
通過讀取文件/proc/meminfo的信息獲取Memory的總量。
ActivityManager. getMemoryInfo(ActivityManager.MemoryInfo)獲取當前的可用Memory量。

三、通過Android系統提供的Runtime類,執行adb 命令(top,procrank,ps...等命令)查詢
通過對執行結果的標准控制台輸出進行解析。這樣大大的擴展了Android查詢功能.例如:
final Process m_process = Runtime.getRuntime().exec("/system/bin/top -n 1");
final StringBuilder sbread = new StringBuilder();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(m_process.getInputStream()), 8192);

# procrank
Runtime.getRuntime().exec("/system/xbin/procrank");
內存耗用:VSS/RSS/PSS/USS
Terms
• VSS - Virtual Set Size 虛擬耗用內存(包含共享庫佔用的耐孝內存)
• RSS - Resident Set Size 實際使用物理內存(包含共享庫佔用的內存)
• PSS - Proportional Set Size 實際使用的物理內存(比例分配共享庫佔用的內存)
• USS - Unique Set Size 進程獨自佔用的物理內存(不包含共享庫佔用的內存)
一般來說內存佔用大小有盯歲如下規律:VSS >= RSS >= PSS >= USS
USS is the total private memory for a process, i.e. that memory that is completely unique to that process.USS is an extremely useful number because it indicates the true incremental cost of running a particular process. When a process is killed, the USS is the total memory that is actually returned to the system. USS is the best number to watch when initially suspicious of memory leaks in a process.
轉載

⑩ 如何查看Android設備的CPU架構信息

只需要用到adb工具即可查看,操作過程如下:

  1. 首先需要下載一個adb工具包,網路搜一下就有,一般需要解壓,解壓開來裡面adb.exe,fastboot.exe等文件,放到C盤--用戶(users)---administrator,然後粘貼即可,該目錄下默認是被系統環境變數識別,無需另載入。

閱讀全文

與androidcpuadb相關的資料

熱點內容
加密思維幣 瀏覽:688
魅族訪客文件夾 瀏覽:50
添加的文件夾怎麼找 瀏覽:615
程序員涉黃 瀏覽:698
maven編譯resources下的js 瀏覽:519
ubuntu文件移動命令 瀏覽:227
安卓i怎麼查找蘋果手機 瀏覽:949
雲伺服器宕機概率 瀏覽:231
在線買葯用什麼app知乎 瀏覽:813
ubuntu解壓xz文件 瀏覽:674
宏傑加密時電腦關機 瀏覽:388
自己寫單片機編譯器 瀏覽:598
單片機按鍵閃爍 瀏覽:380
為什麼icloud總是顯連接伺服器失敗 瀏覽:888
如何設置域控伺服器 瀏覽:740
想在上海租房子什麼app好 瀏覽:186
編譯程序各部分是必不可少的嗎 瀏覽:887
編程不超過十行 瀏覽:765
數電編譯器的作用 瀏覽:339
時間演算法與現在有什麼區別 瀏覽:164