Попытка профилировать задержки при прокрутке в RecyclerView с помощью systrace:
python systrace.py -o ~/tmp/newtrace.html -app=<my package>
Но нет записи для пользовательских участков трассировки.
Я отслеживаю, используя следующий код
override fun onCreateViewHolder(parent: ViewGroup): RecyclerView.ViewHolder {
trace(sectionName = "GalleryDelegate.onCreateViewHolder") {
val view = layoutInflater.inflate(R.layout.item_upload, parent, false)
return ProfileMediaHolder(view, delegate)
}
}
override fun onBindViewHolder(items: List<ProfileDataEntry>, position: Int, holder: RecyclerView.ViewHolder, payloads: MutableList<Any>) {
trace(sectionName = "GalleryDelegate.onBindViewHolder") {
val item = items[position] as ProfileDataEntry.MediaItem
val castedHolder = holder as ProfileMediaHolder
when (item) {
is ProfileDataEntry.MediaItem.Item -> {
castedHolder.bind(item.value)
}
is ProfileDataEntry.MediaItem.Placeholder -> {
castedHolder.bind(item.type)
}
}
}
}