2016-09-27 71 views
0

我的MainActivity中有一个recyclerView。它有12个图像的项目。Recycler View在其主框架上工作太多

我的问题是,当我启动应用程序是非常缓慢的,我总是得到错误:

I/Choreographer: Skipped 52 frames! The application may be doing too much work on its main thread.

但是,当我删除从recyclerView寄托都工作正常图像。

这可能是什么目的,或者我该怎么做,应用程序不是如此缓慢,当我这样做与图像。我只有30个参赛作品。

真诚丹尼尔

回答

0

正如你所说删除影像解决您的问题,只是单纯地调整你的绘制图像和图标。尽量减少分辨率并保留应用程序所需的图像和图标。另一种方法是使用多线程编码。阅读Java线程和异步任务以获取关于多线程的更多细节。

0

如果没有对代码的深入了解,就不可能直接确定遇到的问题......这是一个广泛的性能问题,可能会导致任何事件的累积。

也就是说,这里有一些事情要考虑:

  1. 调整你的资源,并适当地扩展他们每个屏幕密度:https://developer.android.com/guide/practices/screens_support.html

  2. 如果你没有准备好,使用ViewHolder您RecyclerView设计模式:https://developer.android.com/training/material/lists-cards.html

  3. 优化你的位图加载(处理位图关闭UI线程是你的问题一个很好的起点):https://developer.android.com/training/displaying-bitmaps/index.html

0

有与被在主线程上运行的进程密集型任务的代码根本的问题,您应该运行在后台线程即的AsyncTask这样的过程。使用图像库Picasso还可以提高应用程序的整体性能。如果有任何查询,请发布代码。

相关问题