『壹』 android內存的相關排查方法
mpsys meminfo 是Android系統提供的查詢內存命令,用該命令可以看到:
每個進程佔用的物理內存大小
系統內存分布狀態,包括
總的可用物理內存 Total RAM
當前可用物理內存 Free RAM
已用物理內存 Used RAM
不可見內存 Lost RAM
比如輸入該命令後輸出如下日誌:
該命令列印的最後一部分,反應系統級別的內存狀況:
Total RAM: 1015868 kB
Free RAM: 638914 kB (105418 cached pss + 180168 cached + 353328 free)
Used RAM: 211428 kB (186096 used pss + 8008 buffers + 520 shmem + 16804 slab)
Lost RAM: 165526 kB
Tuning: 96 (large 256), oom 20480 kB, restore limit 6826 kB (high-end-gfx)
裡面某些欄位的意義需要注意:
mpsys meminfo
OOM Killer(Out Of Memory Killer) 是Linux當中,內存保護機制的一種。當物理內存幾乎耗盡而又需要分配新內存時,會殺掉一些優先順序低的進程,釋放內存。
LowMemoryKiller 是Android的內存保護機制。當物理內存低於閾值,就會殺掉一些優先順序低的進程,釋放內存。
聯系:LowMemoryKiller 用到了 OOM Killer 的評分機制
區別:LowMemoryKiller 是通過閾值觸發,OOM Killer 是分配內存失敗時觸發
評分原理:
oom_adj,代表進程的優先順序, 數值越大,優先順序越低,越容易被殺。系統分16個級別(取值范圍[-16, 15]整數,不連續)
通過 cat /proc/xxx/oom_adj 查看,其中xxx是進程號
oom_score_adj: 在 oom_adj 基礎上的評分,取值范圍[-1000, 1000]
通過 cat /proc/xxx/oom_score_adj 查看,其中xxx是進程號
閾值查看,以98mv100為例:
cat /sys/mole/lowmemorykiller/parameters/minfree
1024,1536,2048,3072,3584,4096
cat /sys/mole/lowmemorykiller/parameters/adj
0,58,117,176,529,1000
上訴數值表示:可用內存低於 4096 4K 時,殺掉 oom_score_adj>=1000 的應用;可用內存低於 3584 4K 時,殺掉 oom_score_adj>=529 的應用,以此類推。
因此,客戶可以通過調整 minfree 的閾值來觸發 LowMemoryKiller 更頻繁地殺應用,從而為高優先順序應用省下內存。
在 mpsys meminfo 中,GPU內存被統計到了 Lost RAM 裡面了。
因此,當應用佔用GPU內存過高時,不會體現在 Used RAM 裡面,而是體現在 Lost RAM 中。反過來,如果發現有問題的時候 Lost RAM 很高,就需要看看GPU內存使用情況了。用以下命令:�
mount -t debugfs debugfs /sys/kernel/debug/
cat /sys/kernel/debug/mali/gpu_memory
130|root@MR820:/ # cat /sys/kernel/debug/mali/gpu_memory
Name (:bytes) pid mali_mem max_mali_mem external_mem ump_mem dma_mem
其中mali_mem列就是應用佔用的GPU內存
『貳』 最新的 iOS 系統版本分布以及 Android 的版本分布情況如何
最新的ios分布肯定要比最新的安卓5.0或者是安卓5.1分部要廣的多,目前最新的安卓五點兒一分布狀況,就那種高端機一般現在才推送。
『叄』 最新的 iOS 系統版本分布以及 Android 的版本分布情況如何
iOS3月數據統一,iOS8用戶佔75%
Android 5.0「棒棒糖」2月數據安裝比例不足2%
『肆』 現在 android 開發 SDK一般選擇哪個版本
現在 android 開發 SDK一般選擇用最新的SDK版本,這是Google官方強烈建議的。
app能運行的Android版本不是由SDK決定的,是由每一個項目的minSDK決定的。SDK都是向下兼容的。SDK在不斷改進中,新的SDK會提供更強大開發工具,而且用4.0的SDK編譯的2.1的apk的執行效率會比用2.1的SDK編譯的更高。
至於每個app應該用什麼 minSDK ,應該根據應用具體的API來,如果app沒有用到1.6以上SDK新提供的API,那麼用1.6會在提供相同體驗下反而會比2.1兼容更多機型.
『伍』 android整體布局為線性布局,垂直分布,其中分為上下兩部分,上方為相對布
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<Button android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:text="攻擊"/>
<Button android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:text="左勾拳"/>
<Button android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_alignParentRight="true"
android:text="右勾拳"/>
<Button android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_alignParentBottom="true"
android:text="逃跑"/>
<Button android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:id="@+id/centerBtn"
android:text="大絕招"/>
<Button android:layout_width="wrap_content"
android:layout_height="wrap_content"
『陸』 最新的 iOS 系統版本分布以及 Android 的版本分布情況如何
Android 4.1系統的研發代號是 Jelly Bean(果凍豆),於北京時間6月28日00:30在Google I/O 2012開發者
大會上發布,同時發布的還有Nexus 7平板電腦、Nexus Q媒體串流設備、Google Glass三款硬體產品,並公布了Andriod設備、應用商店、Google+的最新運營數據。[1]
從版本號上看,Jelly Bean並沒有很大改變,只是對Ice Cream Sandwich系統的改善,但其中還是有許多令用戶興奮的新功能 。
總的來說 ,Android 4.1擔負著「承上啟下」的作用。既繼承了Android 4.0的基本特性,發揚Holo風格的設計理念,又完善了用戶體驗, 整合新的Google服務,為Android系統的持續發展提供了新的生命力 。
『柒』 android怎樣獲取手機mac
與IP不同,MAC是指連接WIFI使用的無線網卡的物理地址,這個地址是唯一並且不可變更的。從Android手機中當前的系統分布來看是可以正常獲取到的。以安卓2.3系統為例,是在設置--關於手機--狀態信息進行查看。其他版本的安卓系統查看路徑可能會有所變更但變化不大。 另,如果你無法查看到MAC地址,通常也會伴隨另一個現像,就是無法連接WIFI,此情況如果你在重啟了你的設備並且重新啟動了WIFI開關仍未改善,請按故障處理。
『捌』 安卓系統有幾個版本
Android現在大大小小有十八個版本,分別是:
安卓1.1,安卓1.5,安卓1.6,,安卓2.0,安卓2.1,安卓2.2,安卓 2.3,安卓3.0,安卓3.1,安卓3.2,安卓4.0,安卓4.1,安卓4.2,安卓4.3,安卓4.4,安卓5.0,安卓5.1,安卓6.0。
以下是一些關於Android的發展歷史:
2007年11月5日,Google發布了基於Linux平台的開源移動手機平台 --Android。該平台由操作系統、中間件、用戶界面和應用軟體等組成,號稱是首個為移動終端打造的真正的開放的移動開發平台。
2008年9月22日,美國運營商T-Mobile USA在紐約正式發布第一款Google手機 -- T-Mobile G1。該款手機為中國台灣宏達電代工製造,是世界上第一部使用Android操作系統的手機,支持WCDMA/HSPA網路,理論下載速率為7.2Mbit/s,並支持Wi-Fi無限區域網絡。
Google與開放手機聯盟(Open Handset Alliance)合作開發了Android移動開發平台,這個聯盟由摩托羅拉、高通、宏達電和T-Moblie、中國移動等在內的30多家移動通訊領域的領軍企業組成。Google與運營商、設備製造商、開發商和其他第三方結成了深層次的合作夥伴關系,希望通過建立標准化、開放式的行動電話軟體平台,在移動產業內形成一個開放式的生態系統。
Android作為Google企業戰略的重要組成部分,將進一步推進「隨時隨地為每個人提供信息」這一企業目標的實現。全球為數眾多的行動電話用戶從未使用過任何基於Android的移動通訊設備,Google的目標是讓移動通訊不依賴於設備甚至平台。處於這個目的,Android將補充而不會代替Google長期以來奉行的移動發展戰略:通過與全球各地的手機製造商和移動運營商結成合作夥伴,開發即有用又有吸引力的移動服務,並推廣這些產品。
Android系統在國內的發展主要在於針對Android系統的二次開發上,以Android系統源碼為基礎,再深度定製改版而成的操作系統主要有創新工場投資的點心公司開發的點心操作系統、中國移動的Ophone、聯想的樂Phone、阿里雲手機操作系統及雷軍的小米科技開發的MIUI。