1# Shared Native Code Model 2 3The value of the Shared Native Code model is the sum of the virtual memory 4sizes of all loaded `.so` files. It is calculated by reading `/proc/self/maps`. 5 6The actionable breakdown of the shared native code model is a breakdown by 7library name. Unfortunately, due to technical limitations, this does not 8include information about what caused a library to be loaded, whether the 9library was loaded by the app or the platform, the library dependency graph, 10or what is causing a library to remain loaded. Individual `.so` files can be 11further broken down using tools such as `readelf`. 12 13For example, for an application `AmmTest.apk` that includes `libammtestjni.so` as a 14native library that loads 36 KB worth of memory regions, `BaseClassLoader` will 15be shown with library 16`/data/app/com.android.amm.test-_uHI4CJWpeoztbjN6Tr-Nw==/lib/arm64/libammtestjni.so` 17taking up 36 KB. 18