Android应用程序启动时加载的内容

时间:2014-04-03 19:48:12

标签: android memory-management

我想知道应用程序启动时加载到内存中的内容。

整个APK是加载还是只加载? 这对我来说很重要,因为我知道我的APK的大小(可能非常大,有很多图形)。

在这里添加的重要一点是它不是我的应用程序。它是由第四方委托给我认识的人,他对计算一无所知 - 更别关注Android了。 他想知道这些数字是否有意义,或者他是否应该提出有关它的问题,因为它使应用程序难以在某些设备上运行。 我甚至在Galaxy 3上遇到了一些问题。

更多信息:

我们正在讨论一款游戏,其中APK大小约为100MB。 当应用程序启动时,它立即使用大约80MB的内存,很快就会超过100MB。这就是启动画面和菜单出现的时候。

该申请由我所连接的第三方外包。我不能仅仅因为担心将其用作广告而言。

这是我通过adb获得的meminfo:

                         Shared  Private     Heap     Heap     Heap
               Pss    Dirty    Dirty     Size    Alloc     Free
            ------   ------   ------   ------   ------   ------
   Native        0        0        0    67048    65871      112
   Dalvik    10235    13272     9676    16468    15267     1201
    Stack       28        8       28
   Cursor        0        0        0
   Ashmem        6       12        0
Other dev       68       36        0
 .so mmap    13959     3200     2120
.jar mmap        0        0        0
.apk mmap       98        0        0
.ttf mmap       22        0        0
.dex mmap     2639      520       36


 Other mmap      152        8        8
      Unknown    72564      336    72560
        TOTAL    99771    17392    84428    83516    81138     1313

 Objects
               Views:       17         ViewRootImpl:        1
         AppContexts:        3           Activities:        1
              Assets:        3        AssetManagers:        3
       Local Binders:       18        Proxy Binders:       26
    Death Recipients:        1
     OpenSSL Sockets:        1

 SQL
         MEMORY_USED:      368
  PAGECACHE_OVERFLOW:       78          MALLOC_SIZE:       62

1 个答案:

答案 0 :(得分:0)

您无需考虑应用程序或特别是apk文件。加载的内容取决于您在清单文件中声明的启动器活动是什么。您应该只是在启动启动器活动时检查加载的内容。应用程序是一组活动,而不是一个统一的实体。