android.os.TransactionTooLargeException異常
阿新 • • 發佈:2019-02-04
http://blog.csdn.net/ballonge/article/details/51085778
一. 背景輸入法在V2.30(185)和V2.35(196)兩個版本中都碰到了大量的TransactionTooLargeException的崩潰問題,其中崩潰的堆疊有所不同:
- V2.30:android.app.ApplicationPackageManager.getInstalledPackages(ApplicationPackageManager.java:464)
- V2.35:android.view.inputmethod.InputMethodManager.getEnabledInputMethodList(InputMethodManager.
- List<RunningAppProcessInfo> appProcesses = activityManager.getRunningAppProcesses();
- List<RunningTaskInfo> tasksInfo = activityManager.getRunningTasks(1);
- List<PackageInfo> appInfoList = pkgManager.getInstalledPackages(0);
- 跨程序方法呼叫
- 呼叫的方法帶的引數或者返回值佔用較多記憶體
- 同一時刻方法呼叫次數太多
- 跨程序方法呼叫
- 呼叫的方法帶的引數或者返回值佔用較多記憶體
- 同一時刻方法呼叫次數太多
- 跨程序方法呼叫時儘量減少引數或者返回值的記憶體佔用
- 不要多個執行緒同時呼叫跨程序方法,儘量減少呼叫次數或者重複利用呼叫的結果