導航:首頁 > 操作系統 > android異常檢測

android異常檢測

發布時間:2022-12-26 02:16:11

Ⅰ 如何檢測 android Cursor 泄漏

簡介:
本文介紹如何在 Android 檢測 Cursor 泄漏的原理以及使用方法,還指出幾種常見的出錯示例。有一些泄漏在代碼中難以察覺,但程序長時間運行後必然會出現異常。同時該方法同樣適合於其他需要檢測資源泄露的情況。

最近發現某蔬菜手機連接程序在查詢媒體存儲(MediaProvider)資料庫時出現嚴重 Cursor 泄漏現象,運行一段時間後會導致系統中所有使用到該資料庫的程序無法使用。另外在工作中也常發現有些應用有 Cursor 泄漏現象,由於需要長時間運行才會出現異常,所以有的此類 bug 很長時間都沒被發現。
但是一旦 Cursor 泄漏累計到一定數目(通常為數百個)必然會出現無法查詢資料庫的情況,只有等資料庫服務所在進程死掉重啟才能恢復正常。通常的出錯信息如下,指出某 pid 的程序打開了 866 個 Cursor 沒有關閉,導致了 exception:
3634 3644 E javaBinder: *** Uncaught remote exception! (Exceptions are not yet supported across processes.)
3634 3644 E JavaBinder: android.database.: Cursor window allocation of 2048 kb failed. # Open Cursors=866 (# cursors opened by pid 1565=866)
3634 3644 E JavaBinder: at android.database.CursorWindow.(CursorWindow.java:104)
3634 3644 E JavaBinder: at android.database.AbstractWindowedCursor.clearOrCreateWindow(AbstractWindowedCursor.java:198)
3634 3644 E JavaBinder: at android.database.sqlite.SQLiteCursor.fillWindow(SQLiteCursor.java:147)
3634 3644 E JavaBinder: at android.database.sqlite.SQLiteCursor.getCount(SQLiteCursor.java:141)
3634 3644 E JavaBinder: at android.database.CursorToBulkCursorAdaptor.getBulkCursorDescriptor(CursorToBulkCursorAdaptor.java:143)
3634 3644 E JavaBinder: at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:118)
3634 3644 E JavaBinder: at android.os.Binder.execTransact(Binder.java:367)
3634 3644 E JavaBinder: at dalvik.system.NativeStart.run(Native Method)

1. Cursor 檢測原理
在 Cursor 對象被 JVM 回收運行到 finalize() 方法的時候,檢測 close() 方法有沒有被調用,此辦法在 ContentResolver 裡面也得到應用。簡化後的示例代碼如下:
1 import android.database.Cursor;
2 import android.database.CursorWrapper;
3 import android.util.Log;
4
5 public class TestCursor extends CursorWrapper {
6 private static final String TAG = "TestCursor";
7 private boolean mIsClosed = false;
8 private Throwable mTrace;
9
10 public TestCursor(Cursor c) {
11 super(c);
12 mTrace = new Throwable("Explicit termination method 'close()' not called");
13 }
14
15 @Override
16 public void close() {
17 mIsClosed = true;
18 }
19
20 @Override
21 public void finalize() throws Throwable {
22 try {
23 if (mIsClosed != true) {
24 Log.e(TAG, "Cursor leaks", mTrace);
25 }
26 } finally {
27 super.finalize();
28 }
29 }
30 }

然後查詢的時候,把 TestCursor 作為查詢結果返回給 APP:
1 return new TestCursor(cursor); // cursor 是普通查詢得到的結果,例如從 ContentProvider.query()

該方法同樣適合於所有需要檢測顯式釋放資源方法沒有被調用的情形,是一種通用方法。但在 finalize() 方法里檢測需要注意
優點:准確。因為該資源在 Cursor 對象被回收時仍沒被釋放,肯定是發生了資源泄露。
缺點:依賴於 finalize() 方法,也就依賴於 JVM 的垃圾回收策略。例如某 APP 現在有 10 個 Cursor 對象泄露,並且這 10 個對象已經不再被任何引用指向處於可回收狀態,但是 JVM 可能並不會馬上回收(時間不可預測),如果你現在檢查不能夠發現問題。另外,在某些情況下就算對象被回收 finalize() 可能也不會執行,也就是不能保證檢測出所有問題。關於 finalize() 更多信息可以參考《Effective Java 2nd Edition》的 Item 7: Avoid Finalizers
2. 使用方法
對於 APP 開發人員
從 GINGERBREAD 開始 Android 就提供了 StrictMode 工具協助開發人員檢查是否不小心地做了一些不該有的操作。使用方法是在 Activity 裡面設置 StrictMode,下面的例子是打開了檢查泄漏的 SQLite 對象以及 Closeable 對象(普通 Cursor/FileInputStream 等)的功能,發現有違規情況則記錄 log 並使程序強行退出。
1 import android.os.StrictMode;
2
3 public class TestActivity extends Activity {
4 private static final boolean DEVELOPER_MODE = true;
5 public void onCreate() {
6 if (DEVELOPER_MODE) {
7 StrictMode.setVMPolicy(new StrictMode.VMPolicy.Builder()
8 .detectLeakedSqlLiteObjects()
9 .detectLeakedClosableObjects()
10 .penaltyLog()
11 .penaltyDeath()
12 .build());
13 }
14 super.onCreate();
15 }
16 }

對於 framework 開發人員
如果是通過 ContentProvider 提供資料庫數據,在 ContentResolver 裡面已有 CloseGuard 類實行類似檢測,但需要自行打開(上例也是打開 CloseGuard):
1 CloseGuard.setEnabled(true);

更值得推薦的辦法是按照本文第一節中的檢測原理,在 ContentResolver 內部類 CursorWrapperInner 裡面加入。其他需要檢測類似於資源泄漏的,同樣可以使用該檢測原理。
3. 容易出錯的地方
忘記調用 close() 這種低級錯誤沒什麼好說的,這種應該也占不小的比例。下面說說不太明顯的例子。
提前返回
有時候粗心會犯這種錯誤,在 close() 調用之前就 return 了,特別是函數比較大邏輯比較復雜時更容易犯錯。這種情況可以通過把 close() 放在 finally 代碼塊解決
1 private void method() {
2 Cursor cursor = query(); // 假設 query() 是一個查詢資料庫返回 Cursor 結果的函數
3 if (flag == false) { // !!提前返回
4 return;
5 }
6 cursor.close();
7 }

類的成員變數
假設類裡面有一個在類全局有效的成員變數,在方法 A 獲取了查詢結果,後面在其他地方又獲取了一次查詢結果,那麼第二次查詢的時候就應該先把前面一個 Cursor 對象關閉。
1 public class TestCursor {
2 private Cursor mCursor;
3
4 private void methodA() {
5 mCursor = query();
6 }
7
8 private void methodB() {
9 // !!必須先關閉上一個 cursor 對象
10 mCursor = query();
11 }
12 }

注意:曾經遇到過有人對 mCursor 感到疑惑,明明是同一個變數為什麼還需要先關閉?首先 mCursor 是一個 Cursor 對象的引用,在 methodA 時 mCursor 指向了 query() 返回的一個 Cursor 對象 1;在 methodB() 時它又指向了返回的另外一個 Cursor 對象 2。在指向 Cursor 對象 2 之前必須先關閉 Cursor 對象 1,否則就出現了 Cursor 對象 1 在 finalize() 之前沒有調用 close() 的情況。
異常處理
打開和關閉 Cursor 之間的代碼出現 exception,導致沒有跑到關閉的地方:
1 try {
2 Cursor cursor = query();
3 // 中間省略某些出現異常的代碼
4 cursor.close();
5 } catch (Exception e) {
6 // !!出現異常沒跑到 cursor.close()
7 }

這種情況應該把 close() 放到 finally 代碼塊裡面:
1 Cursor cursor = null;
2 try {
3 cursor = query();
4 // 中間省略某些出現異常的代碼
5 } catch (Exception e) {
6 // 出現異常
7 } finally {
8 if (cursor != null)
9 cursor.close();
10 }

Ⅱ 怎麼檢測安卓手機中毒

病毒查殺默認開啟。隨時全盤掃描設備,輕松查殺隱藏病毒,凈化使用環境。

以華為P50手機為例:

一、查看手機安全狀態

進入手機管家,點擊病毒查殺,可查看設備當前的安全狀態。

二、開啟或關閉聯網病毒查殺

進入手機管家>齒輪,點擊防病毒軟體更新和聯網查殺,選擇以下任一狀態:

Ⅲ Android中TCP客戶端怎麼可以及時判斷與服務端的異常斷開呀 我想在客戶

直接用BufferedReader
如果readLine() 返回為null的話, 表示socket已經斷開連接了, 因為readLine() 是阻塞的, 就是等伺服器的數據輸出, 一直等到返回了回車換行, 才會繼續執行。

Ⅳ 筆記本檢測到 Android手機 設備異常 無驅動怎麼辦,,我解決不了

1.電腦端安裝91助手安卓版。(注意,不要安裝安卓蘋果兼容版的91助手)
2.打開91助手。
3.把手機用數據線連接到電腦上
4.91助手會提示你安裝驅動,按照步驟安裝就可以了

Ⅳ 陌陌是怎麼檢查設備異常,安卓模擬器陌陌防封技術

陌陌一登錄就提示設備信息存在異常怎麼辦?

如果你在陌陌注冊或者登錄的時候系統提示你的設備信息存在異常,這就可以肯定的是陌陌風控系統已經把你的手機設備判定為異常的,就是你之前已經在這台手機上注冊過多個賬號或者之前有過違規封號的記錄這些陌陌都會保存,平台已經把你這台手機設備列入黑名單,所以提示設備存在異常,即使你根據提示進行解除也是一樣不能解決或者權重會很低。設備異常通過硬改手機硬體底層數據可以解決這個問題,解決的辦法就是手機硬改,從手機底層修改所有硬體信息改成一台全新的能過平台檢測的設備,這種方法是可以同一部手機無限次的硬改,一台手機當無數台手機使用。這種問題可以找行業內技術比較好的飛哥技術來解決,這個技術是現在比較成熟的方案。

青少年心理在步入成熟期時,存在著情感的波動和青春的迷茫,同時表現得強烈,更需要在心裡表達思想,並渴望得到更多的支持。年輕人在許多成人關系佔主導地位的社交場合表現出了巨大的壓力。通過演算法和操作,為青少年提供社交平台,可以幫助青少年找到「同好」;Soul通過演算法匹配內容與用戶建立高質量的關系;而B站和鯡魚罐頭並不強調建立關系,但同樣會使用演算法進行內容分發,讓用戶獲得更多支持與認同。

而且是社交復雜.資訊過多,頭像太多,年輕人發表任何東西都要再三考慮,要顧及長輩.同事.領導與同學的感受,表達得不夠輕松,難以得到廣泛的價值認同。

再加上滿足群體社交的需要,而不是單點社交。

Facebook所倡導的社會網路基礎是「六度人脈」,這一點在傳統社會平台上被強調。如今社會交往比較平淡,對年輕人而言,點對點的連接不再是社會交往的前提或說服力。年輕人社交的價值也許就是消遣寂寞.獲得樂趣和尋求認同,並不必然與認識人有任何聯系,如彈幕.clubhouse.直播連麥等多對多社交活動都體現出這一點,這一Party社交方式正在逐漸成為網路社會的一種流行方式,因此,應引起年輕人的社交應用:關系並非起點,也不是終點,關聯是可選擇的。

第三,注重內容這一社交媒體。

青少年有一種「沒有內容就沒有社交」的感覺。那一年QQ聊天室「為聊天而聊天」,探求這種左右滑動「為約會而約會」的社交方式,越來越難吸引年輕人。在手機社交市場上,以00後為主導的新一代在中國手機社交市場中占據主導地位,而年輕用戶則傾向於輕裝,趣味性社會,有43.6%以上的受訪者每天會使用3-4種社交軟體,內容社區類應用僅次於IM。這一比例為46.7%,遠遠超過泛娛樂(15.3%)和陌生人(11.5%)。年輕人社交內容日益增多的趨勢,B站、soul、鯡魚罐頭三款產品,我們都看到了強烈的「內容」屬性。

寫在最後:

如今,為什麼在2019年有了一大批新的社交應用?身為第一代網際網路原住民,00後已經長大成人,成了消費中堅者,不管是品牌還是社交平台,都意識到了這波用戶群帶來的巨大變化。「「得年青者得天下」,騰訊、陌陌、微博等老牌社交平台,以及B站、soul、keep、鯡魚等都在努力抓住00後。那麼,中國年輕人的社交軟體到底是什麼樣子?也不知道,但是我相信如此不同的00後00後,肯定會有自己的社交平台。

一天的大眾點評直播界面幾乎全是預告,很少直播。現場直播內容多為商店自播,店內人員介紹店內情況,有的只是對著店內或者招牌打開直播功能。也許是因為大多數商家都難以輸出內容。而且商家端有內容能力的第一選擇大概率是抖音,只是把大眾點評作為視頻分發平台。

小紅書直播幾乎是淘寶直播的翻版,而且入口比較隱蔽,需要在下拉頁面才能看到,內容多為商品/美容師/舞蹈健身/育兒類,流量和帶貨人氣數據平平,可以打賞的薯幣不過百元,但是主播的直播功能和打賞方式也很豐富。

而網路貼吧則更像是秀場直播,點開界面是清一色的美女主播,也有連麥PK功能,但大部分人都用它來求「關注」,求「榜一哥」。總之,在這里,很難看到網路貼吧過去的調性。

直到直播帶貨興起,秀場直播才是社交產品的王牌,曾經孵化了一大批互聯網巨頭,也成了一些企業的「命門」。

2015年6月,陌陌剛剛在美股上市半年後就提出了私有化提議,但一直沒有進展。最終,正是直播業務讓陌陌「一夜回歸」。

2016年Q2,陌陌直播業務收入超過會員收入,成為其最主要的收入來源。但是從2018年的Q3開始,陌陌選擇了不在財報中公布支付的直播打賞費率、ARPPU值。有一種共識認為,隨著陌陌用戶增長放緩,其直播業務也開始逐漸疲軟。

Ⅵ Android P 系統穩定性問題分析方法總結

Android系統最開始是為手機設計的,在機頂盒,電視,帶屏音箱等大屏上運行後,晶元廠家做些適配,產品廠家也會做系統客制化,有時候還要適配第三方應用..等待
這種適配容易引人系統的穩定性問題,系統穩定性對於用戶體驗至關重要,很多問題也都比較類似,android系統對系統性能,穩定性分析工具也比較多,下面根據工作中遇到的問題做個總結。

從表現來看有: 死機重啟, 自動關機, 無法開機,凍屏,黑屏以及閃退, 無響應等情況;

從技術層面來劃分無外乎兩大類: 長時間無法執行完成(Timeout) 以及異常崩潰(crash). 主要分類如下:

ANR(Application Not responding),是指普通app進程超過一定時間沒有執行完,系統會彈出應用無響應對話框. 如果
該進程運行在system進程, 更准確的來說,應該是(System Not Responding, SNR)

ANR產生的原因可能是各種各樣的,但常見的原因可以分為:

1.logcat日誌
2.trace文件(保存在/data/anr/traces.txt)
從logcat里可以看到死鎖的列印
從traces.txt可以看到線程的函數調用棧

10-16 00:50:10 820 907 E ActivityManager: ANR in com.android.systemui, time=130090695
10-16 00:50:10 820 907 E ActivityManager: Reason: Broadcast of Intent { act=android.intent.action.TIME_TICK flg=0x50000114 (has extras) }
10-16 00:50:10 820 907 E ActivityManager: Load: 30.4 / 22.34 / 19.94
10-16 00:50:10 820 907 E ActivityManager: Android time :[2015-10-16 00:50:05.76] [130191,266]
10-16 00:50:10 820 907 E ActivityManager: CPU usage from 6753ms to -4ms ago:
10-16 00:50:10 820 907 E ActivityManager: 47% 320/netd: 3.1% user + 44% kernel / faults: 14886 minor 3 major
10-16 00:50:10 820 907 E ActivityManager: 15% 10007/com.sohu.sohuvideo: 2.8% user + 12% kernel / faults: 1144 minor
10-16 00:50:10 820 907 E ActivityManager: 13% 10654/hif_thread: 0% user + 13% kernel
10-16 00:50:10 820 907 E ActivityManager: 11% 175/mmcqd/0: 0% user + 11% kernel
10-16 00:50:10 820 907 E ActivityManager: 5.1% 12165/app_process: 1.6% user + 3.5% kernel / faults: 9703 minor 540 major
10-16 00:50:10 820 907 E ActivityManager: 3.3% 29533/com.android.systemui: 2.6% user + 0.7% kernel / faults: 8402 minor 343 major
......
10-16 00:50:10 820 907 E ActivityManager: +0% 12832/cat: 0% user + 0% kernel
10-16 00:50:10 820 907 E ActivityManager: +0% 13211/zygote64: 0% user + 0% kernel
10-16 00:50:10 820 907 E ActivityManager: 87% TOTAL: 3% user + 18% kernel + 64% iowait + 0.5% softirq

發生ANR的時間 00:50:10 ,可以從這個時間點之前的日誌中,還原ANR出現時系統的運行狀態
發生ANR的進程 com.android.system.ui
發生ANR的原因 Reason關鍵字表明了ANR的原因是處理TIME_TICK廣播消息超時
CPU負載 Load關鍵字表明了最近1分鍾、5分鍾、15分鍾內的CPU負載分別是30.4、22.3、19.94.CPU最近1分鍾的負載最具參考價值,因為ANR的超時限制基本都是1分鍾以內, 這可以近似的理解為CPU最近1分鍾平均有30.4個任務要處理,這個負載值是比較高的
CPU使用統計時間段 CPU usage from XX to XX ago關鍵字表明了這是在ANR發生之前一段時間內的CPU統計,類似的還有CPU usage from XX to XX after關鍵字,表明是ANR發生之後一段時間內的CPU統計
各進程的CPU使用率
以com.android.systemui進程的CPU使用率為例,它包含以下信息:
總的CPU使用率: 3.3%,其中systemui進程在用戶態的CPU使用率是2.6%,在內核態的使用率是0.7%
缺頁次數fault:8402 minor表示高速緩存中的缺頁次數,343 major表示內存的缺頁次數。minor可以理解為進程在做內存訪問,major可以理解為進程在做IO操作。 當前minor和major值都是比較高的,從側面反映了發生ANR之前,systemui進程有有較多的內存訪問操作,引發的IO次數也會較多
CPU使用匯總 TOTAL關鍵字表明了CPU使用的匯總,87%是總的CPU使用率,其中有一項iowait表明CPU在等待IO的時間,佔到64%,說明發生ANR以前,有大量的IO操作。app_process、 system_server, com.android.systemui這幾個進程的major值都比較大,說明這些進程的IO操作較為頻繁,從而拉升了整個iowait的時間

traces.txt 如下
----- pid 29533 at 2015-10-16 00:48:29 -----
Cmd line: com.android.systemui
DALVIK THREADS (54):
"main" prio=5 tid=1 Blocked
| group="main" sCount=1 dsCount=0 obj=0x75bd5818 self=0x7f8549a000
| sysTid=29533 nice=0 cgrp=bg_non_interactive sched=0/0 handle=0x7f894bbe58
| state=S schedstat=( 289080040422 93461978317 904874 ) utm=20599 stm=8309 core=0 HZ=100
| stack=0x7fdffda000-0x7fdffdc000 stackSize=8MB
| held mutexes=
at com.mediatek.anrappmanager.MessageLogger.println(SourceFile:77)

Android系統中,有硬體WatchDog用於定時檢測關鍵硬體是否正常工作,類似地,在framework層有一個軟體WatchDog用於定期檢測關鍵系統服務是否發生死鎖事件。
watchdog 每過30s 檢測一次, 如果要監控的線程30s 後沒有響應,系統會mp出此進程堆棧,如果超過60s 沒有相應,會觸發watchdog,並重啟系統
10:57:23.718 579 1308 W Watchdog: *** WATCHDOG KILLING SYSTEM PROCESS: Blocked in monitor com.android.server.am.ActivityManagerService on foreground thread (android.fg), Blocked in handler on main thread (main), Blocked in handler on ActivityManager (ActivityManager)
10:57:23.725 579 1308 W Watchdog: android.fg annotated stack trace:
10:57:23.726 579 1308 W Watchdog: at com.android.server.am.ActivityManagerService.monitor(ActivityManagerService.java:26271)
10:57:23.727 579 1308 W Watchdog: - waiting to lock <0x0bb47e39> (a com.android.server.am.ActivityManagerService)
10:57:23.727 579 1308 W Watchdog: at com.android.server.Watchdog DeliveryTracker.alarmTimedOut(AlarmManagerService.java:4151)
10:57:23.733 579 1308 W Watchdog: - waiting to lock <0x00aaee38> (a java.lang.Object)
......
10:57:23.736 579 1308 W Watchdog: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:838)
10:57:23.739 579 1308 W Watchdog: ActivityManager annotated stack trace:
10:57:23.740 579 1308 W Watchdog: at com.android.server.am.ActivityStack$ActivityStackHandler.handleMessage(ActivityStack.java:405)
10:57:23.740 579 1308 W Watchdog: - waiting to lock <0x0bb47e39> (a com.android.server.am.ActivityManagerService)
10:57:23.740 579 1308 W Watchdog: at android.os.Handler.dispatchMessage(Handler.java:106)
10:57:23.741 579 1308 W Watchdog: *** GOODBYE!
分析:
提示 ActivityManagerService的android.fg,main,ActivityManager 線程Block了,但logcat里只能看到
android.fg等待0x0bb47e39 鎖,main 等待0x00aaee38鎖,ActivityManager等待0x0bb47e39鎖,無法進一步分析,需要看traces.txt
Cmd line: system_server
......
"main" prio=5 tid=1 Blocked

當出現應用閃退,可以從兩個方面查看:
1、是否應用崩潰:
可以通過logcat –s AndroidRuntime DEBUG過濾日誌,查看應用奔潰的具體堆棧信息。
其中AndroidRuntime的TAG列印java層信息,DEBUG的TAG列印native層的信息。
2、是否被lowmemorykiller殺掉:
可以通過 logcat –s lowmemorykiller 過濾日誌,注意adj 0是代表前台進程。例如:
03-08 04:16:58.084 310 310 I lowmemorykiller: Killing'com.google.android.tvlauncher' (2520), uid 10007, adj 0
發生這種情況,需要mpsys meminfo 查看當前內存狀態,是否有進程內存泄漏,導致系統內存不夠,出現前台進程被殺,造成閃退。

測試過程中,經常遇到屏幕閃爍的現象,需要排除是OSD層閃爍,還是video層閃爍。
1、先通過android原生方法:screencap截圖, screenrecord 錄制視頻,這里都是截取的OSD層,查看是否有閃屏現象。
2、OSD沒有問題,就需要從更底層的顯示模塊分析,一般需要晶元廠家提供debug手段,不同晶元廠家方案不一樣。
3, 有時候輸出不穩定,hdmi/mipi信號干擾,輸出頻率異常等也會導致閃屏,這種情況需要硬體協助分析。
如果OSD層也閃爍,則需從系統和應用層面分析。如曾遇到在開機向導界面,有個應用不斷被喚起,導致走開機向導時出現連續閃灰屏的現象。

黑屏分UI黑屏,視頻播放黑屏但UI正常等,2種場景

1、screencap截屏,排查OSD層圖形是否正常,
2、如果OSD圖形正常,需要排查顯示輸出模塊是否異常。
3、電視機裡面屏顯是單獨控制,如果屏參配置錯誤會導致整改黑屏。
OSD異常,需要排查頂層activity是否黑屏,window是否有異常等.

1,排查視頻圖層或者window是否創建成功。
2,排查解碼是否有異常,不同的應用youtube,netflix,iptv解碼方式不一樣,需要具體問題具體分析。

如下,ActivityManager因為空對象引用而掛掉,導致system_server重啟
*** [FATAL EXCEPTION IN SYSTEM PROCESS: ActivityHanager [
^ava.lang.NullPointerException: Attempt to invoke virtual method 'void co®.android.internal.os.KernelSingleUidTimeReader.iBarkDataAsStale(boolean)' on a null object reference
at com.android.internal.os.BatteryStatsIiaplSConstants.(BatteryStatslnpl.java:13355)
at com.android.internal.os.BatteryStatsInplSConstants.upddteConstants(BatteryStatsImpl.java:13330)
at com.android.internal-o-batteryStatslMpl$Constants-onChange(BatteryStatsInpl-java:13316)
at android.database.Contentobserver.onChange(ContentObserver.java:145)
解決方法:修復空指針

DEBUG : pid: 296, tid: 1721, name: Binder:296_4 >>> /system/bin/surfaceflinger <<<
DEBUG : signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr ------
DEBUG : Abort message: 'status.cpp:149] Failed HIDL return status not checked: Status(EXTRANSACTIONFAILED):
DEBUG : r0 00000000 rl 000006b9
DEBUG : C4 00000128 r5 000006b9
r2 00000006 r3 a5c5d620
r6 a235d60c r7 0000010c
DEAD_OB3ECT:
DEBUG : r8 00000019 r9 0000015d
DEBUG : ip a6ablbec sp a235d5f8
rlO a568f090 rll a620dce9
Ir a5be901d pc a5be0da2
/system/lib/libc.so (abort+62)
/system/lib/libbase.so (android::base::DefaultAborter(char const )+6)
backtrace:
/system/lib/libsurfaceflinger.so
/system/lib/libsurfaceflinger.so
/system/lib/libsurfaceflinger.so
/system/lib/libsurfaceflinger.so
/system/lib/libbase.so (android::base::LogMessage::~LogMessage()+502)
/system/lib/libhidlbase.so (android::hardware::details::return_status::~return_status()+184)
(android::Hwc2::impl::Composer::getActiveConfig(unsigned long long, unsigned int
)+56)
(HWC2::Display::getActiveConfig(std::_1::shared_ptr<HWC2::Display::Config const>*) const+38)
(android::HWComposer::getActiveConfig(int) const+64)
(android::SurfaceFlinger::resyncToHardwareVsync(bool)+64)
可以根據backtrace來進行定位異常崩潰的地方。Android P上, backtrace使用Java上下文來顯示,省去使用addr2line來轉換的一個過程,方便調試分析問題。但是實際場景中,
有些native進程崩潰只有pc地址,而無函數信息,或者需要定位到具體的某個文件某個函數,則可藉助堆棧分析工具addr2line。
addr2line:根據堆棧定位具體函數和文件
addr2line -e libsurfaceflinger.so -f 00071a09
addr2line -e libsurfaceflinger.so -f 00071a09
_
frameworks/native/services/surfaceflinger/SurfaceFlinger.cpp:1229
需注意兩點:
1、需用帶debug信息的LINK目錄裡面的so庫,機頂盒上的so庫是無法定位的:
out/target/proct/xx/obj/SHARED_LIBRARIES/libsurfaceflinger_intermediates/LINKED/libsurfaceflinger.so
或者:out/target/proct/xx/symbols/system/lib/libsurfaceflinger.so
2、定位的文件,必現和機器上出現問題的版本一致,否則定位不準確
debuggerd:列印當前進程實時堆棧:debuggerd –b pid

主要可以分為以下3類
1)Data abort
Unable to handle kernel NULL pointer dereference at virtual address...
Unable to handle kernel paging request at virtual address...
Unhandled fault...at...
Unhandled prefetch abort...at...
2)BUG/BUG_ON
Oops - BUG...
例如:
Out of memory and no killable processes...
rbus timeout...
...
PS:WARN_ON只mp stacks,kernel還是正常
3)bad mode
Oops - bad mode...
日誌列印:
〃錯誤類型原因
[214.962667] 08:14:19.315 (2)-0488 Unable to handle kernel paging request at virtual address 6b6b6cl7
[214.973889] 08:14:19.326 (2)-0488 addr:6b6b6c17 pgd = d0824000
[214.980132] [6b6b6c17J •pgd=O000eO0e
〃Oopsttl誤碼序號
[214.983865] 08:14:19.336 (2)-0488 Internal error: Oops: 805 [#1] PREEMPT SMP ARM
[214.9914S3] Moles linked in: 8192eu ufsd(PO) jnl(O) fusion(O)
〃發生也錯誤的CPU序號
(215.001878] 08:14:19.354 (2)-0488 CPU: 2 PID: 488 Comm: system_server Tainted: P 4.4.3+ #113
(2)-0488 Hardware name: rtd284x
[215.011865] 08:14:19.364
〃當前PC指針 98:14:19.377 (2)-0488 PC is at mutex_unlo<k+0xc/0x38
(21S.024846] 08:14:19.383 (2)-0488 LR is at storage_pm_event+0xb4/0xe8
(21S.031026]
//Registers 08:14:19.390 (2)-0488 :[<ceb78ffc>] Ir : [<C0542034>] psr: 200f0013
I 215.037644] sp : ccf79e38 ip : eceoeeee fp : 9b34648c
I 215.037644]
08:14:19.404 (2)-0488 rlO: 00000080 r9 :Cl8b3864 r8 : oeeeeeoe
215.051370]
215.058692] 08:14:19.411 (2)-0488 P7 : C1293a98 P6 :C1293940 r5 : C1293940 r4 :C1293a80
21S.067345]
[ 215.076014] 08:14:19.420 (2)-0488 r3 : 00000033 r2 :00000000 ri : 000^000 re :6b6b6c07
[ 215.085307]
08:14:19.428 (2)-0488 Flags: nzCv IRQs on FIQs on Mode SVC 32 ISA ARM Segment user
08:14:19.438 (2)-0488 Control: 10c5383d Table: 1082406a DAC: 00000055
//Process.不 ,定是該process的錯誤,只是發生錯誤時,剛好在運行該process
[215.093168]
//Stacks 08:14:19.446 (2)-0488 Process syste«i_server (pid: 488, stack limit = 0xccf78218)

(21S.101827] 08:14:19.454 (2)-0488 Stack: 0xccf79e38 (Oxccf79d7。 to 0xccf7a08Q) - par(0xcf796d4)

---[ end trace 45d55384id6a0974 ]--- Kernel panic not syncing: Fatal exception
[217.359794] 08:14:21.712 (0)-0488
解決方案: kernel異常一般找晶元原廠協助分析。

系統卡頓時,一般先分三步走:
1、查看當前系統的CPU,IO等參數,輸入top、iotop命令: (如:iotop -s io -m 9)
如果有異常飆高的進程,kill掉後會發現系統恢復正常。
之前項目上遇到過某些U盤IO性能比較差,媒體中心又在後台掃描媒體問題,導致系統各種卡頓,io wait時間比較長。
2、系統進程卡住,觸發Watchdog:ps –A |grep system_server,一般而言,system_server正常的進程號是200多,如果發現進程號變成幾千,則可能出現重啟,結合tombstone和 /data/anr下的trace文件分析重啟原因
3、當前應用出現卡頓,造成ANR。輸入logcat | grep ANR,如果有ANR列印,再去/data/anr下面查看相應進程的traces文件
有時在應用裡面操作卡頓,按鍵響應延遲,但是卻沒有生成ANR,此時如果退出該應用(如果無法退出,在抓取足夠信息的情況下,可以串口直接kill掉卡頓的應用),則一切正常,可能是應用自身實現問題,或者調用了其它介面導致(例如曾遇到應用調用了中間件、mediaplayer某些介面導致操作嚴重卡頓,按鍵響應延遲),這種情況則需應用和相應介面的實現者去排查。

系統完全卡死,一般分三種情況
1,串口無響應,大概率kernel panic,
2,串口日誌狂輸出,把系統堵塞, 優化日誌輸出,關注關閉後壓測。
3,Input系統完全堵塞,導致任何輸入都無響應。

Ⅶ 華為手機出現android怎麼解決

如果您在開機過程中出現開機卡死或者無法開機的現象,請您長按電源鍵,嘗試強制重啟手機,如果能正常重啟,請您在開機以後備份手機重要數據。

如果您的手機在開機過程中頻繁出現異常情況,有可能是手機系統異常,建議您備份數據以後將手機恢復出廠設置。

您可以通過以下方式:

長按音量上鍵+電源鍵檢查是否能進入Recovery模式,如果可以,選擇「恢復出廠設置」格式化進行修復。

通過華為手機助手修復或通過eRecovery 恢復手機系統版本。

如果您已經恢復過出廠設置,現象仍然存在,建議您前往華為售後服務中心檢測是否硬體異常

Ⅷ android app測試的基本要點有哪些需要特別注意的地方

總結了幾個比較重要的,希望對你有幫助
App測試問題一:用戶體驗
用戶體驗是一個app成功與否的關鍵。App商店中app評分可以反映用戶體驗,差評說明銷售虧損。所以用戶體驗在移動app測試中是一個重要問題。因為體驗具有主觀性,所以它無法直接被測出。但你要知道,我們在測試過程中,必須要從一些關鍵影響因素入手,去解決用戶體驗問題。
而好的用戶體驗的成功因素包括吸引人的設計,積極的互動性和可用性。
而針對這個問題,我們的測試要從真人體驗測試、各個功能的深度測試以及Bug探索與崩潰分析這幾個方面著重入手,才能夠涵蓋完善用戶體驗所需的測試點。
APP測試問題二:app對於移動設備的兼容性
目前,安卓類的移動設備正在急劇增加,手機碎片化異常嚴重。並且因為顯示屏大小和現狀、操作系統版本和基本設備特點等限制因素的不一致,致使幾乎沒有開發者會花費大量金錢去購買市面上存在的主流手機,那麼這些因素疊加起來,最終就很大程度上導致普通的質量管理很難進行。而如果不全面地進行兼容性測試,那麼app的生存空間又在哪裡呢?
同時還有一點,設備製造商的(安卓)操作系統的設備特殊定製,應明確地在設備上進行測試。測試時,有必要限制將會被app支持的設備。必須要標明系統組合(硬體/操作系統)和向下兼容性。為了最大化系統組合的覆蓋,就必須要有靈活的策略來與足夠的機型來執行測試。
兼容性問題當然是進行兼容性測試,而在所有的兼容性測試中,使用真機進行測試,是最好的測試方式。但由於上文已提及到眾多企業無力購置大量機型,那麼,這樣的需求就只有委託給第三方的測試機構來完成
APP測試問題三:app的網路連接情況
網路連接是移動app測試的另一大問題。理想狀態下,app的網路連接將在單獨的線程中實現,這樣就不會彼此干擾。此外,一個app必須適當地應對網路中斷、延遲、變更和信號弱等情況。如果說不能夠將這些測試點進行到底,那麼在app在運行過程中將很有可能出現由於網路問題而導致的app運行中斷,如果這樣的問題出現在金融或證券領域的app中,那麼就很可能在當下環境中讓用戶無法完成掛單、賣出買入或者確認等操作,造成不可挽回的損失。
對於網路問題,一般是進行模擬網路情況的測試,比如TestBird提供的弱網模擬測試和它們的中斷測試
APP測試問題四:伺服器的承載能力測試
任何開發者都不能夠拍胸脯確認自己的app能夠獲取多少用戶,並且能夠明確指出同時在線的用戶能有多少,如果不關注伺服器的承載能力,那麼很可能在突然的情況下,伺服器就被大量湧入的用戶給沖爆,導致癱瘓。
如此,用戶自然會流失,同時伺服器的宕機,也會給當時正在進行重要操作的用戶造成損失,這樣的情境,我們依然可以考慮到金融與證券的方向。
伺服器的壓力測試已經是常見的測試項目了,但是進行全面、專業的壓力測試才是保證明確需測伺服器承載力的必要條件。
TestBird

Ⅸ 安卓開發參考文獻

安卓開發參考文獻

按照字面的意思,參考文獻是文章或著作等寫作過程中參考過的文獻。下面是我幫大家整理的安卓開發參考文獻,僅供參考,希望能夠幫助到大家。

安卓開發參考文獻1

[1]郭志宏.Android應用開發詳解[M].電子工業出版社.2010.

[2]楊豐盛.Android應用開發揭秘[M].機械工業出版社.2010.

[3]Frank Ableson.Introction to Android development[J].developerWorks,2009,10(7).

[4]余志龍,陳昱勛,鄭名傑,陳小鳳,郭秩均.Google Android SDK開發範例大全[M].人民郵電出版社.2009.

[5]李寧.Android/OPhone開發完全講義[M].中國水利水電出版社.2010.

[6]Ed Burnett, Hello, Android: Introcing Google』s Mobile Development Platform[J]. PRAGMATIC BOOKSHELF,2010.7:10-11.

[7]Rick Rogers, John Lombardo.Android Application Development[M].O』Reilly Media,Inc.2009.

[8]胡偉.Android系統架構及其驅動研究[J].廣州廣播電視大學學報.2010,10(4).

[9]Steve Guo.Binder[OL].http://iremnant tistory.com/entry/Android-JAVA-Binder-IPC-System,2010/03/18.

[10]靳岩,姚尚朗.Google Android開發入門與實踐[M].人民郵電出版社.2009.

[11]陳建偉.基於Android的三維物體的觸摸控制[J].矽谷,2009,(23):76.

[12]E2ECloud工作室.深入淺出Google Android[M].人民郵電出版社.2009.

[13]傅曦,手機游戲開發精粹[M],北京:人民郵電出版社.2009.

安卓開發參考文獻2

[1]周雅翠.基於Android平台的個人事務管理系統設計[J].吉林建築大學學報,2015,06:67-68.

[2]吳亞林.淺析基於Android的天氣預報系統設計與實現[J].山東工業技術,2015,24:123.

[3]王毅.Android平台並行計算研究[J].電子製作,2015,24:26.

[4]王冬.基於Android的天氣預報軟體的設計與實現[J].電子製作,2015,24:32.

[5]林煌,楊秀芝.基於Android機頂盒的節目管理方案設計[J].有線電視技術,2015,12:69-71.

[6]簡靖韡.Android智能手機信息安全問題與對策分析[J].通訊世界,2015,24:33.

[7]鄧昌友,肖遙,馬小月,夏利,曾俊.基於Android智能手機數據安全的研究[J].福建電腦,2015,12:5-6.

[8]勾通.基於Android平台的遠程視頻監控系統設計[J].電腦編程技巧與維護,2015,24:60-61.

[9]石翠.PS製作Android智能手機界面技巧解析[J].電腦編程技巧與維護,2015,24:53-54+66.

[10]傅偉.基於Android的校園通系統設計--以江蘇財經職業技術學院為例[J].廊坊師范學院學報(自然科學版),2015,06:24-29.

[11]吳新華,萬強.基於Android平台的手機游戲開發[J].萍鄉學院學報,2015,06:66-69.

[12]楊平.基於Android的移動外勤系統設計與開發[J].信息通信,2015,12:145-146.

[13]陳崇輝.基於Android手機的健康調理手環設計[J].計算機測量與控制,2015,12:4145-4148.

[14]田甜,林築英.基於雲存儲的Android手機視頻監控和流量共享系統設計[J].電子設計工程,2015,24:190-193.

[15]牟式標,樓越升.基於工程項目的Android設計研究[J].數字技術與應用,2015,12:75-76.

[16]劉曉明.Android應用異常檢測方法研究[J].無線互聯科技,2015,24:121-122.

[17]郝波.基於Android的海南自助旅遊系統開發[J].中國新通信,2015,24:74-75.

[18]張儒俠,付姍姍.基於Android智能手機的志願服務信息查詢系統設計[J].首都師范大學學報(自然科學版),2016,03:63-70.

[19]金永奎,袁圓,顏愛忠.基於Android的高效節水灌溉遠程監控系統設計及實現[J].中國農機化學報,2016,04:202-206.

[20]李成吉,雷靈光,林璟鏘,高能.安全的Android移動終端內容保護方案[J].計算機工程與設計,2016,03:591-596.

[21]劉洪偉,戴芬,李璐.Android手機手工恢復文件方法研究[J].信息通信,2016,03:133-134.

[22]吳志霞.基於Android平台的「戰鬥士」游戲軟體案例設計及實現[J].九江學院學報(自然科學版),2016,01:67-69+76.

[23]胡全,莫秀良,王春東.基於Markov鏈模型的Android平台惡意APP檢測研究[J].天津理工大學學報,2016,02:27-31.

[24]鄺家瑞.android系統用戶體驗下的可視化交互界面設計[J].現代裝飾(理論),2016,04:124.

[25]黃曉先.基於Android的掌上校園交流系統設計與實現[J].開封教育學院學報,2016,03:280-281.

[26]丘增富,秦裕德,陸科宏,馬柏林,陸家卓.基於Android平台的互聯網+雲超市軟體[J].電腦編程技巧與維護,2016,07:36+45.

[27]徐強,周倩,成敏,宋占偉.基於Android平台的物流信息採集系統[J].吉林大學學報(信息科學版),2016,02:196-203.

[28]柳淑婷,傅梓怡,范亞芹.基於Android的僵屍網路設計與實現[J].吉林大學學報(信息科學版),2016,02:182-185.

[29]王慶磊.Android移動數據安全探析[J].福建電腦,2016,03:101+109.

[30]陳屴.Android雲終端的系統備份與還原方案[J].福建電腦,2016,03:130-131+157.

[31]沈麗雲,尹孟征,郭鳳仙,嚴佳玲,劉鵬.基於Android的康復醫療機器人控制系統設計與實現[J].裝備機械,2016,01:37-41.

[32]李赫,趙晉睿.基於Android系統的地籍調查平台[J].中國新技術新產品,2016,09:30-31.

[33]陳紅梅.基於Android的科目三模擬考試系統[J].智能計算機與應用,2016,02:55-57.

[34]胡偉峰,辛向陽.智能手機iOS&Android系統功能交互行為對比研究[J].裝飾,2016,04:82-83.

[35]徐昕軍,袁媛,蘇劍臣,楊峰.基於Android平台的行為分析系統研究[J].計算機應用與軟體,2016,04:223-226.

[36]李永寶,崔廣章,陳琛,李岱英.基於Android的校園訂餐系統[J].物聯網技術,2016,04:71-75+78.

[37]王慧蘭.基於Android平台的圖書管理系統手機客戶端開發[J].中外企業家,2016,11:204.

[38]祁洋,曹紅根,朱長水,陳佳鑫.基於Android平台家校通的設計與實現[J].軟體工程,2016,04:33-35.

[39]徐雪麗.基於Android平台的虛擬試衣關鍵技術研究[J].西安文理學院學報(自然科學版),2016,02:47-51.

[40]牛嘉祥,張紅雨.基於Android平台的GPS防盜器軟體設計[J].電子質量,2016,04:30-35+39.

[41]韋江華,李福章,林川.基於Android平台定位系統的客戶端設計[J].信息系統工程,2016,04:102-103.

[42]吳成玉,吳飛青,章麗姣.Android系統上基於圖像顏色特徵的檢索研究[J].安徽電子信息職業技術學院學報,2016,02:1-4.

[43]柳迪,章國寶.基於Android的網購葯品應用的設計與實現[J].工業控制計算機,2016,04:121-122+134.

[44]葛藝瀟,閔富紅.基於Android和Arino的藍牙考勤系統實現[J].信息通信,2016,04:109-110.

[45]江麗.基於android平台的實時互動遠程教育系統設計與實現[J].信息通信,2016,04:121-122.

[46]楊世淼.基於Web Server和Android平台的智能幼兒園管理系統[D].浙江大學,2016.

[47]劉權,劉紅,韋啟旻,徐強,楊思晨,孫非凡.基於Android移動終端區域網通信設計[J].數碼世界,2016,04:52-53.

[48]周兵.基於Android網路圖片上傳與下載的研究[J].河北工程技術學院教學與研究,2015,04:40-43+46.

[49]張躍騫.Android APP保護及破解[J].中國教育網路,2016,Z1:44-46.

[50]許瑾.第一次開發Android程序的歷程[J].科技資訊,2014,29:20.

[51]張中偉,蘇靜.基於雲平台的Android移動學習系統設計[J].民營科技,2014,09:100+59.

[52]王柯,馬宏斌.一種基於Android平台數據採集系統的設計與實現[J].測繪與空間地理信息,2014,10:29-32.

[53]郭瑾,楊武年,易鵬.基於Google Android平台手機局域地圖的實現[J].地理空間信息,2014,05:158-161+13.

[54]曹海英,元元.基於Android系統的'移動校園信息平台設計[J].赤峰學院學報(自然科學版),2014,21:11-12.

[55]林偉銘,張源梁.基於Android平台的家庭燈光控制系統[J].中國新通信,2014,22:97-98.

[56]張生財.基於Android教務信息管理系統開發[J].科技創新與應用,2014,34:72.

[57]潘曉東,費軍,張益明.基於安卓終端的呼叫系統設計與應用[J].醫療衛生裝備,2014,11:52-53+88.

[58]徐劍,武爽,孫琦,周福才.面向Android應用程序的代碼保護方法研究[J].信息網路安全,2014,10:11-17.

[59]吳軼群,朱亞東,王明敏.基於Android平台的多屏互動系統設計[J].計算機應用與軟體,2014,10:234-238.

[60]余彥達.基於Android的校園卡查詢系統[J].價值工程,2014,20:201-202.

[61]趙振峰,董日壯.基於安卓的手機校園導航應用系統[J].電腦知識與技術,2014,30:7050-7052.

[62]李駿,陳小玉,Android驅動開發與移植實戰詳解,北京:人民郵電出版社,2012:87-105.

[63]韓超,梁全,Android系統原理及開發要點詳解,北京:電子工業出版社,2009:16-102.

[64]李剛.瘋狂Android講義[M].北京:電子工業出版社,2013:25-42.

[65]楊豐盛.Android技術內幕[M].北京:機械工業出版社,2011:77-89.

[66]楊雲君.Android的設計與實現[M].北京:機械工業出版社,2013:45-49.

[67]柯元旦.Android內核剖析[M].北京:電子工業出版社,2011:59-70.

[68]豐生強.Android軟體安全與逆向分析[M].北京:人民郵電出版社,2013:78-90.

[69]余成鋒,李代平,毛永華.Android3.0內存管理機制分析[M].計算機應用與軟體,2013:55-80.

[70]佐冰冰.Android平台下Launcher啟動器的設計與實現[D].哈爾濱工業大學,2012:108-150.

[71]杜吉志,徐明昆.Android系統內存管理研究及優化[J].軟體,2012,24(5):69-80.

[72]馬越.Android的架構與應用[D].北京:中國地質大學,2008:330-357.

[73]姚昱旻,劉衛國.Android的架構與應用開發研究[J].計算機系統應用,2008,77(11):99-111.

[74]高巍.Android操作系統軟體自動化測試方案的設計與實施[D].北京:北京郵電大學,2012:440-479.

[75]孫劍.Android系統上應用程序按需載入機制的設計與實現[M].北京大學,2011:99-110.

[76]盧娜.基於Android平台的手機桌面資訊系統的設計與實現[M].西安電子科技大學,2011:290-300.

[77]高煥堂.Google Android應用框架原理與程序設計36計[M].Misoo,2010:8-13

[78]楊雲君.Android的設計與實現[M].北京:機械工業出版社,2013:5-65.

[79]柯元旦.Android內核剖析[M].北京:電子工業出版社,2011:67-98.

[80]李剛.瘋狂Android講義[M].北京:電子工業出版社,2013:12-87.

[81]陳最.基於Android平台移動終端透明加密系統的研究與實現[D].重慶理工大學,2012:108-150.

[82]王春雷,柴守霞,袁傑,雷美容.基於Android智能手機的移動護士工作站[J].中國數字醫學,2013,05:85-87.

[83]李錚.基於Android的位置跟蹤系統設計與實現[J].承德石油高等專科學校學報,2013,05:33-36.

[84]孫亞非,曾成,伍萍輝.基於Android平台的智能低壓配電終端[J].低壓電器,2013,21:59-63.

[85]沈澤,周麗嫻,梁昌銀.Android語音備忘錄程序的設計與實現[J].現代電信科技,2013,10:37-42+47.

[86]吳立勇,丁作文.基於Android系統振動測試儀研究[J].工業控制計算機,2013,12:10-11.

[87]朱生,牟星亮,單康康.基於Android平台的應用程序開發研究[J].網路安全技術與應用,2013,10:46-47+64.

[88]郝俊壽,丁艷會.基於Android系統的影音播放器研究與實現[J].矽谷,2013,22:20-21.

[89]趙曉影.Android應用開發中的UI設計[J].勞動保障世界(理論版),2013,12:111.

[90]鄭洲.基於Android平台的快捷查詢軟體設計[J].中國新通信,2013,23:123.

[91]王楠.基於Android手機平台的互聯網應用探析[J].數字化用戶,2013,10:3.

[92]高志新,李春雲,仇治東,於泳波.基於二維碼和android應用的智能控制系統的研究[J].數字技術與應用,2013,11:13-14.

拓展:安卓開發就業前景

Java工程師的就業前景不是一層不變的,而是隨著市場變化而變化的,當我們大量需要的時候Java工程師就業前景就會比較明朗,相反我們不需要了,Java程序員的就業前景還會好嗎,今天我們來分析一下2017年Java就業前景。

一,整體就業環境

網路依靠編程堆積起來,所以互聯網時代編程語言必不可少。有專業人士闡述了下一代編程語言的要具備的特性:介於靜態語言與動態語言之間的語言,有特定領域功能,有註解功能,是面向過程語言等等,無論未來編程語言如何發展,學編程開發都不會失業,所以選一個自己喜歡的語言去編程吧。Java作為編程語言之手,可以優先選擇。

據業內人才預測,2017年我國將新增10000家IT企業,這些企業將強勢拉動IT人才的需求。而且現在80%互聯網公司基本都在使用Java,維護項目運行也需要大量人力,所以在未來幾年Java依舊是炙手可熱的技術,就業市場依舊很大。

二,Java發展空間

Java應用無處不在,例子不枚勝舉,在過去十年,Java為整個IT屆帶來的影響已經無法准確評估,現在Java向著高精尖方向而且,進一步說明了Java的時髦性。

現在Java非常普及,普及到在美國要求每一位人員都要會編程,巨大的Java社區需要很長時間才會接受新的編程語言,所以在未來幾年Java就業市場依舊光明。

Java技能是目前為止被招聘人員,高層人員甚至喬布斯都稱贊過的熱門技能,高度可移植性目前還沒有一門編程語言超過,所以不可避免,Java將繼續影響下一代程序員。

三,Java就業情況

根據鄭州達內12月份就業數據顯示,不論是就業速度,就業質量,薪資待遇,Java依舊領先其他專業,總體就業薪資在6000-9000之間,可見Java就業就業市場依舊光明。

作為Java程序員一定要讓自己有價值,如果你很容易被替代,那麼你的價值就很低廉。如果你能負責的工作,只有20%的人能超越你,那麼價值立刻凸顯,就不愁找不到高薪工作了。Java新技術層出不窮,內核精髓變化不大,作為程序員一定要多掌握精髓東西,向深度發展,另外盡量抽時間向廣度發展,這樣才能在Java行業屹立不倒。

;

安卓系統程序出現異常正在收集日誌怎麼辦

1.清除軟體數據:設置-查找「應用程序管理器」-(全部)-查找軟體名稱-(存儲)-清除數據(注意備份軟體中的重要數據)。
2.部分機器支持應用程序許可權設置:設置-應用程序-(應用程序管理器)-查找並點擊不能使用的軟體名稱-許可權-將需要的許可權開啟。
3.若無效,將設備關機重啟嘗試。
4.若是自行下載的軟體,建議卸載該軟體並重新安裝(建議下載該軟體最新版本嘗試),可能是由於軟體與手機新系統存在兼容性。
5.若是系統自帶軟體無法使用,請您攜帶購機發票、包修卡和機器送到三星服務中心,由專業的售後工程師幫助檢測。

閱讀全文

與android異常檢測相關的資料

熱點內容
javatomcat圖片 瀏覽:415
程序員生產智能創意 瀏覽:65
匯和銀行app怎麼登錄 瀏覽:381
騰訊伺服器如何上傳源碼 瀏覽:739
單片機的原理概述 瀏覽:508
火控pdf 瀏覽:267
如何復制雲伺服器centos環境 瀏覽:984
債權pdf 瀏覽:301
紅色番字的app怎麼下載 瀏覽:876
雲伺服器流程教課 瀏覽:702
中國農業銀行app怎麼沒有網 瀏覽:997
幾率表演算法 瀏覽:902
程序員理工科 瀏覽:708
企業郵箱登錄收件伺服器地址 瀏覽:558
計算機思維與演算法設計的重要性 瀏覽:664
linux刷新磁碟命令 瀏覽:76
我的世界如何查看伺服器種子pc 瀏覽:284
linuxlamp編譯安裝 瀏覽:609
枚舉演算法ppt 瀏覽:184
cmd查看進程命令 瀏覽:956