用的是 universal-image-loader ? 这个我在listview上使用的时候也回卡,来回滑动会重新加载图片,原因应该是把划出屏幕的图片释放掉了,当再次进入的时候会再次加载,listview在这种地方就会卡。有这个框架有方法设置滑动的时候不加载图片,停止滑动的时候再加载,但是这样体验感觉不太好,修改 com.nostra13.universalimageloader.core.DefaultConfigurationFactory.java 如下: // 源码: // /** Creates default implementation of task distributor */ // public static Executor createTaskDistributor() { // return Executors.newCachedThreadPool(createThreadFactory(Thread.NORM_PRIORITY, "uil-pool-d-")); // } // 修改后 /** Creates default implementation of task distributor */ public static Executor createTaskDistributor(int threadPoolSize) { return Executors.newFixedThreadPool(threadPoolSize, createThreadFactory(Thread.NORM_PRIORITY, "uil-pool-d-")); } 然后再找到com.nostra13.universalimageloader.core.ImageLoaderEngine.java 修改如下: ImageLoaderEngine(ImageLoaderConfiguration configuration) { this.configuration = configuration; taskExecutor = configuration.taskExecutor; taskExecutorForCachedImages = configuration.taskExecutorForCachedImages; taskDistributor = DefaultConfigurationFactory.createTaskDistributor(configuration.threadPoolSize); } 再运行试试,感觉会流畅了。 原理就是换一下线程池类型,修改后有什么不合适的地方我也不清楚,新手,知识有限
80,352
社区成员
91,288
社区内容
加载中
试试用AI创作助手写篇文章吧