原创 ART GC ModUnionTable 實現及使用

上一篇 MarkSweep MarkingPhase的學習中,其實沒有完全搞明白ModUnionTable到底是如何工作的,只是根據代碼和註釋大概知道其意思。 本篇來回顧一下 ART 中 ModUnionTable數據結構,以及搞明白它是

原创 Reference & ReferenceQueue

分析了Java FinalizerReference的創建,Finalizer的執行,以及GC時 Reference的處理。 1.Finalizable Class public class Test { public

原创 Binder學習[2]: ServiceManger.addService實現

本文將講述用戶進程如何通過 defaultServiceManager()->addService的實現。 1.addService發起端進程在 addService過程中的動作 class DrmManagerService : pu

原创 dumpsys meminfo 解析

1.命令執行輸出 sssss:/ # dumpsys meminfo com.android.home

原创 Java Class/Object Memory layout

1. Java class memory layout class內存佈局可以從下面這個函數來分析一個Java類對應的內存佈局: inline uint32_t Class::ComputeClassSize(bool has_

原创 ART Mterp Interpreter 解釋 bytecode

Interpreter 首先分析 Interpreter 如何解釋執行 dalvik byte code,Interpreter 在 ART 7.0有 3種實現: InterpereImpl: enum Interpreter

原创 Android profile-guided dex2oat

KeyWord: ART,Dalivk,.class file,dex file, java bytecode, dalvik bytecode, oat file,profile,dex2oat,app-image1. ART vs D

原创 ART MarkSweep GC MarkingPhase

MarkingPhase 步驟 BindBitmaps()FindDefaultSpaceBitmap()heap->ProcessCards()MarkRoots()MarkReachableObjects()PreCleanCards

原创 從 Native 函數調用 Java 函數

從一個Native調用java方法的實例開始: (gdb) bt #0  art_quick_invoke_stub () at art/runtime/arch/arm64/quick_entrypoints_arm64.S:667

原创 ubuntu IDA 安裝方法

http://www.cnblogs.com/ryuasuka/p/5493371.html

原创 hook read_chk 導致dex2oat進程 abort

1.問題描述 Native Crash 如下: Build fingerprint: 'XXX/ddddn:7.0/dddd/7.3.27:user/release-keys' Revision: '0' ABI: 'arm' pi

原创 Android ANR Trace 詳解

本文總結一下 Signal Catcher 線程在收到 SIGQUIT(3)後,Dump 信息的流程。 最主要還是解析 ANR trace種每種數據的含義,讓我們更清晰的認識 trace。 Android SourceCode

原创 Thread Safety Analysis

http://clang.llvm.org/docs/ThreadSafetyAnalysis.html 點贊 收藏 分享 文章舉報 hl09083253cy 發佈了34 篇原