Связующие – перечисляем, что это такоеAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Связующие – перечисляем, что это такое

Сообщение Anonymous »

При звонке:

Код: Выделить всё

adb shell dumpsys
Получаем список Объектов, используемых разными процессами:

Код: Выделить всё

 Objects
Views:      171         ViewRootImpl:        3
AppContexts:       13           Activities:        3
Assets:       23        AssetManagers:        0
Local Binders:      681        Proxy Binders:       90
Parcel memory:       26         Parcel count:       89
Death Recipients:        9      OpenSSL Sockets:        0
WebViews:        0
Мы также можем использовать приведенные ниже вызовы API для вывода количества локальных и прокси-связывающих устройств во время выполнения:

Код: Выделить всё

Log.d(TAG, "Local: " + Debug.getBinderLocalObjectCount() + "  Proxy: " + Debug.getBinderProxyObjectCount());
Как мы можем определить, какие объекты (классы) Binder находятся в списке, который производит подсчет?
Я пытаюсь поддерживать сложное приложение ( написано не мной), и я изо всех сил пытаюсь определить, где с течением времени происходит утечка Binders.
Только пока приложение не исчерпает Binders, Android аварийно завершает работу приложения и записывает подобную «гистограмму» :

Код: Выделить всё

11-29 17:53:43.284932  1016  1059 V Binder  : BinderProxy descriptor histogram (top 10):
11-29 17:53:43.285382  1016  1059 V Binder  :  #1: android.app.IServiceConnection x4160
11-29 17:53:43.285666  1016  1059 V Binder  :  #2: android.view.IWindow x1729
11-29 17:53:43.285827  1016  1059 V Binder  :  #3: android.content.IIntentReceiver x288
11-29 17:53:43.286048  1016  1059 V Binder  :  #4: android.database.IContentObserver x232
11-29 17:53:43.286146  1016  1059 V Binder  :  #5:  x164
11-29 17:53:43.286215  1016  1059 V Binder  :  #6:  x61
11-29 17:53:43.286286  1016  1059 V Binder  :  #7: android.content.IContentProvider x61
11-29 17:53:43.286367  1016  1059 V Binder  :  #8: android.app.IApplicationThread x51
11-29 17:53:43.286434  1016  1059 V Binder  :  #9: android.hardware.display.IDisplayManagerCallback x51
Конечно, должен существовать список поддерживаемых «дескрипторов». Есть ли способ связать эти дескрипторы обратно с конструкторами Binder или подключиться к функции API, чтобы мы могли регистрировать каждое создание Binder?

Подробнее здесь: https://stackoverflow.com/questions/792 ... t-they-are
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»