1. 程式人生 > >android智慧指標之輕量級指標

android智慧指標之輕量級指標

C++JAVA的區別是記憶體需要手動管理,具體的來說就是由NEW分配的記憶體或對像需要手動呼叫delete來手動刪除。這樣就導致一個問題,如果大型軟體中一個對像可能在多個執行緒中有使用,必須出現重複多次引用的情況。那麼我們應該在那個執行緒去釋放了,這樣就可能導致釋放了但還有的執行緒在使用導致記憶體洩露,還有可能導航野指標,既不使用了反而沒有釋放的情況.針對這種問題我們可以想到應該由C++類的解構函式來解決,就是在程式的最後會自動呼叫解構函式,我們在解構函式中來釋放類對像。針對多次引用想像應該可以引入計數機制,當在呼叫解構函式時要判斷引用當前對像的個數。如果當前對蚥引用次數為0了當然可以釋放了。如果不為
0就不應該釋放。針對這種解決問題的辦法我叫做輕量級指標。