Results 16 comments of Ben

@codetomylaw of course 有用。我如果关闭这个功能安卓上面的cameraRoll很快就挂掉了。

facebook的效率真的很让人捉急,有一个相关的bug已经拖了半年了,也没有解决,而且这个bug很严重,不解决产品根本就没法让人用。 https://github.com/facebook/react-native/issues/1831

我读了 https://github.com/facebook/react-native/issues/499 这个issue的所有评论终于明白了为什么打开removeClippedSubviews对我的app效果很明显,因为这个评论里的解释 https://github.com/facebook/react-native/issues/499#issuecomment-156726735 我在显示照片库的listview里没有用thumbnail, 所以显示的都是原图,这样如果不开启removeClippedSubviews很快就会挂掉,但开启这个虽然不能回收view内存,但却能回收image,所以效果立竿见影。 但是Listview的问题依然在,我在一部有很多照片的手机上浏览很多照片后最后还是会因为内存问题闪退。

补充一点,这个issue的最后有个咱自己人写的可回收复用的Listview 他参照了wix的ios实现方案做了android的实现,我暂时还没时间去研究这个方案到底是不是凑效。 各位有空可以研究下。 链接分别是 https://github.com/droidwolf/react-native-RealRecyclerView http://blog.wix.engineering/2016/06/30/recycling-rows-for-high-performance-react-native-list-views/

renderHeader这些功能性问题都好办,关键是这种实现会不会有什么隐藏的陷阱。 https://github.com/facebook/react-native/issues/499#issuecomment-87821298 这个链接里VJ大神解释了他们为什么不选择UITableView的复用方式,这种原生的复用方式给他们带来了很多问题。如果只是简单的测试内存使用情况不一定能发现在真实产品中才会出现的问题。因为实际产品里每个row可能里面会包含很多东西,尺寸大小,以及资源引用,这些情况下可能会出现测试里一行就是一个简单的View不会出现的问题。

Same problem. It is ok on ios, but nothing happened on android. No error. No log. Just nothing.