【发布时间】:2018-11-09 13:59:05
【问题描述】:
尝试使用 systrace 在 RecyclerView 中滚动时分析滞后:
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)
}
}
}
}
【问题讨论】:
-
那么您找到解决方案了吗?
标签: android performance systrace