我的适配器的getView方法中有以下代码(用于填充ListView)public View getView(int position, View parent, ViewGroup root) { View view = LayoutInflater.from(getActivity()).inflate(R.layout.my_layout, null); ImageView imageView = view.findViewById(R.id.myImageView); String address = addresses[position]; MyNetworkLibrary.loadAndSetImage(address, imageView); return view;}ListView的单元格具有ImageView,它们在其中加载远程图像。方法MyNetworkLibrary.loadAndSetImage下载远程图像,并在收到响应后在我的ImageView中进行设置。问题在于,对于ListView的每一行,经常多次调用getView方法,尽管我使用了缓存,但由于图像未放入缓存,因此我的应用程序对每一行执行多个请求。有没有一种方法可以知道何时最后一次调用getView?或者,您是否在考虑更好的解决方案? 最佳答案 试图在此question中澄清呼叫getView()的次数比预期的多。由于这只是我的想法,所以我不确定,但是我认为您在问题中提出的方法不正确-我的意思是,您不需要计算多少时间被调用,但代替它来有效地处理分配。作为替代方案,您可以使用getView()引用LazyList方法中该行的每个图像来加载图像。但是还有另一个可能的解决方案(我认为它也更优雅),我在另一个question中提出了它。希望对您有帮助。关于android - ListView,检查最后一次调用getView的时间,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21328607/
10-13 03:29