自制一个音乐播放器,需要使用一个GridView,用于显示音乐文件的专辑图片和其他文本信息。存储音乐文件引用的泛型列表List<StorageFile>的Count接近一千。加载过程中,GridView页面的占用内存持续飙升,最后稳定在500M以上。
起初怀疑是泛型列表的问题。但在其他使用listview或listbox的页面绑定同样的列表,内存占用只增加了10-15m左右。所以确定是gridview的问题。
接着怀疑是图片的问题。把图片相关的语句注释掉后,使用的内存没有丝毫减少。
综上,判定是GridView自身的内存占用过大。但这个东东不是本身就集成了虚拟化吗???怎么解决内存的占用过大呢?
分页
请问具体要怎么做呢?可以给一个小范例吗?
@happydaily: 页面打不开……
@happydaily: 分页的功能在uwp里被虚拟化代替了。我的解决方法是采取异步加载图片的方式(证实了后台的图片读取方法是占用内存过大的真正原因)。同时,在前台使用了x:bind和x:phase的组合代替了原有的binding。同时,减少图片读取的数量至不影响显示的最小量。现在的内存占用已经从500m+降至了70m左右。
再次感谢!