Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Profile GPU渲染:滚动时执行时间长(红色条)_Android_Performance_Android Scrollview_Android Cardview - Fatal编程技术网

Android Profile GPU渲染:滚动时执行时间长(红色条)

Android Profile GPU渲染:滚动时执行时间长(红色条),android,performance,android-scrollview,android-cardview,Android,Performance,Android Scrollview,Android Cardview,屏幕由一个滚动视图组成,滚动视图具有一个线性布局,其中4-5个CardView垂直布局。每个CardView内部都有嵌套视图 在低端设备上,滚动一点也不平滑(很多“jank”)。Profile GPU渲染显示,由于非常大的红色条,几乎每一帧都缺少16毫秒标记,这表明执行步骤花费的时间太长 是什么原因导致每帧的执行时间如此之高,我该如何减少它?一个选项是减少视图。。。CardView内部的布局有多复杂?这些视图是否依赖于加载的数据或繁重的计算?不确定它是否适用于GPU处理,但您是否尝试在单独的线程

屏幕由一个滚动视图组成,滚动视图具有一个线性布局,其中4-5个CardView垂直布局。每个CardView内部都有嵌套视图

在低端设备上,滚动一点也不平滑(很多“jank”)。Profile GPU渲染显示,由于非常大的红色条,几乎每一帧都缺少16毫秒标记,这表明执行步骤花费的时间太长


是什么原因导致每帧的执行时间如此之高,我该如何减少它?

一个选项是减少视图。。。CardView内部的布局有多复杂?这些视图是否依赖于加载的数据或繁重的计算?不确定它是否适用于GPU处理,但您是否尝试在单独的线程上进行处理?--@塔索斯:重型提升是在单独的螺纹上完成的。这并不是因为主线程上运行了任何代码,我很确定这一点。@ManojMadanmohan创建一个单独的项目,在其中构建完全相同的布局,没有计算,也没有任何逻辑。看看它是否同样慢。如果是,请阅读以下内容:看看您是否可以改进任何东西。@WilliMentzel这就是高执行(红色)次数的原因吗?我所能得到的是,高执行时间是由复杂的自定义视图引起的,或者是由于视图被一次又一次地重新绘制。我没有使用任何自定义视图。是否有可能重新绘制视图?