原创 【MTK】user版本下輸出aee db 和 anr trace

Aee 屬性 persist.mtk.aee.filter aee 有對上層三方app 進行過濾, 如需抓三方app 的exception, 可以設置屬性: setprop persist.mtk.aee.filter 0

原创 Android系統之智能指針sp和wp回顧

概述 Android中的智能指針是對C++中的對象回收機制的封裝,C++中的構造函數和析構函數是在對象new出來和delete的時候調用的,但是一個在銷燬一個對象的時候,我們需要手動的調用delete關鍵字來銷燬,但是在Java中我們無需

原创 看Android源碼學習之Java的clone():深複製與淺複製

在看AMS時遇到 android/frameworks/base/services/core/java/com/android/server/am/ActivityManagerService.java final ProcessRe

原创 static和extern的區別

C中的static關鍵字 static 修飾局部變量 static 修飾全局變量 static 修飾函數 C++的static關鍵字 關鍵字extern 實現類C和C++的混合編程 C++中調用C的代碼 C中的st

原创 關於 ringtone_cache

ringtone cache的路徑 Android N版本google 目前將鈴聲分爲actual ringtone和cache ringtone,前者以ringtone爲key將文件uri存儲在xml文件settings_system.

原创 C++ 友元

友元(frend)機制允許一個類將對其非公有成員的訪問權授予指定的函數或者類,友元的聲明以friend開始,它只能出現在類定義的內部,友元聲明可以出現在類中的任何地方:友元不是授予友元關係的那個類的成員,所以它們不受其聲明出現部分的訪問控

原创 Handler的使用小結

Android UI的控件都不是線程安全的,如果允許併發訪問,那控件的狀態就是未知;所以Android只允許在 一個線程內對UI控件進行更新,這個線程就是創建View時的線程,默認狀態下,這個線程就是主線程,這也就是爲什麼我們在對UI組件

原创 Android AIDL回顧

概述 AIDL全名 Android Interface Definition Language,是一種接口定義語言,也是Android系統的一種跨進程通信機制,其本質是系統爲我們提供的一種快速實現Binder的工具,是Binder最簡單的

原创 Linux操作系統中的內存映射

內存映射 在 Linux操作系統中與高效的跨進程通信 & 文件操作息息相關。 定義 關聯 進程中的1個虛擬內存區域 & 1個磁盤上的對象,使得二者存在映射關係 被映射的對象稱爲:共享對象(普通文件 / 匿名文件) 作用 若存在上述映射關

原创 Android studio下make aidl

AndroidStudio的aidl文件默認放在src/main/aidl目錄下,aidl目錄和java目錄同級別。 在java目錄上右鍵,創建一個aidl文件,此文件會默認生成到aidl目錄下。 同時必須要指明包名,包名必須和java目

原创 C++ virtual關鍵字

虛函數 在類Base中加了Virtual關鍵字的函數就是虛擬函數。基類的函數調用如果有virtual則根據多態性調用派生類的,如果沒有virtual則還是調用基類的。 看下面的一段代碼的輸出結果: class Base { public:

原创 C++ 指針

野指針 指向垃圾內存的指針: (1)指針變量沒有初始化 (2)指針被delete或者free之後沒有置爲空 (3)指針操作超越了變量的範圍 空指針 指針賦值爲0;0*5等之後,指針即變成空指針;即:空指針不指向任何實際的對象或者函數

原创 C++11 新特性

變量和基本類型 1.1 long long 類型 擴展精度浮點數,10位有效數字 1.2 列表初始化 初始化的幾種不同形式,其中用花括號來初始化變量稱爲列表初始化; 比如: int i = 0; int i = {0}; int i{

原创 Java基礎知識回顧之內部類

概述 1.每個內部類都能獨立地繼承一個(接口的)實現,所以無論外圍類是否已經繼承了某個(接口的)實現,對於內部類都沒有影響。可以避免修改接口而實現同一個類中兩種同名方法的調用。 2.實現多重繼承:在我們程序設計中有時候會存在一些使用接口很