Android之什麼是樁程式碼(Stub)?
Android SDK自帶的Source原始碼包很小,並沒有包括所有的Android Framework的原始碼,僅僅提供給應用開發參考用,一些比較少用的系統類的原始碼並沒有給出,所以有時候你會看到如下:
public void xxx() {
throw new RuntimeException("Stub!"); // 樁程式碼,真正執行時會由Android ROM裡面相同的類代替執行。
// 拋異常後下面就不執行了,所以不用寫返回值
}
Stub原義是(樹)樁,在這裡引申為“佔坑”。 樁程式碼是臨時性的/待編輯的,它使得程式在結構上能夠符合標準,又能夠使程式設計師可以暫時不編輯這段程式碼。
拋異常目的:提醒呼叫者,這個程式碼沒有實現。
產生原因:
- Android Studio 沒有關聯原始碼
注:部分程式碼在關聯後依舊無法檢視,請參照下面第二點說明。
- 出於安全或者某些原因,這些API不能暴露給應用層的開發者,所以編譯完成的android.jar包裡會把這些API隱藏掉。
如何檢視:在Android SDK Source中找不到的時候,需要去AOSP(Android Open Source Project)專案查詢。
相關文章
- Android AOP之位元組碼插樁Android
- 低程式碼是什麼?
- 什麼是程式碼整理?
- 低程式碼是什麼意思?
- 低程式碼是什麼意思
- 通過程式碼解釋什麼是API,什麼是SDK?API
- Android 位元組碼插樁Android
- 什麼是程式碼審計?程式碼審計有什麼好處?
- 低程式碼是什麼意思?低程式碼平臺的技術特點是什麼?
- 什麼是AndroidAndroid
- nyc 插樁無法插樁使用裝飾器的程式碼,請問有什麼解決辦法嗎?
- html的空格程式碼是什麼HTML
- HTTP狀態程式碼是什麼?HTTP
- 什麼是低程式碼的窘境?
- 這是什麼騷批程式碼!
- 什麼是 unicode 程式碼點Unicode
- 什麼是程式碼覆蓋率
- Android編譯期插樁,讓程式自己寫程式碼(一)Android編譯
- Android編譯期插樁,讓程式自己寫程式碼(二)Android編譯
- 什麼樣的程式碼稱得上是好程式碼?
- 什麼是低程式碼(Low-Code)?
- 幽默:什麼是業務邏輯程式碼?
- 什麼是低程式碼?低程式碼平臺能解決什麼樣的問題?
- 低程式碼的概念和目的是什麼?
- 低程式碼的技術原理是什麼?
- 什麼是遠端程式碼執行漏洞?
- 什麼是HTTP 304狀態程式碼?HTTP
- 什麼是整潔的程式碼(Clean Code)?
- 低程式碼與無程式碼真正的區別是什麼
- 無程式碼和低程式碼最大的區別是什麼?
- Android 什麼是架構?Android架構
- Android 事件分發完全解析之為什麼是她Android事件
- 一文看懂“低程式碼,零程式碼,APAAS”是什麼?怎麼選?
- PS指令碼篇--1.程式碼是什麼,寫程式碼幹嘛?指令碼
- 程式執行緒新解:什麼是程式?什麼是執行緒?執行緒
- 程式碼之間為什麼要加空格?
- 低程式碼開發平臺是什麼意思?
- 火熱的低程式碼到底是什麼?