当前行为
我有一个列出了包含视频和图像(每个10 Mb以下)的社交应用程序的列表。 在FlatList中组织了一个带有用户供稿的屏幕,其中我现在仅加载(!)两个视频和一个图像。该应用程序仅在Android上显示黑屏,而不是视频组件。黑屏问题在iOS中不会发生! (我想是因为在iOS中内存管理方式和滚动列表的完成方式
复制步骤
这是我的视频代码:
<Video
source={{ uri: this.state.uri }}
ref={(ref) => {
this.player = ref
}}
paused={this.state.paused}
resizeMode={this.state.resizeMode}
onLoad={this.handleLoad}
onEnd={this.handleEnd.bind(this)}
style={[this.state.style, { backgroundColor: '#3d3d3d' }]}
/>
此外,如果我在AndroidManifest中添加:
在Android Studio中看到的应用消耗的内存约为170Mb,并且还在不断增长。
预期的行为
我希望放映视频。
平台
环境:
OS:macOS High Sierra 10.13.6
节点:8.10.0
纱线:1.5.1
npm:5.6.0
值班员:4.9.0
Xcode:Xcode 9.4.1 Build 9F2000
Android Studio:3.1 AI-173.4670197
包装:(需要=>已安装)
反应:16.2.0 => 16.2.0
本机:0.54.4 => 0.54.4
您是哪个播放器遇到以下问题: 我正在使用以下视频标签:从'react-native-video'导入视频;
https://www.dropbox.com/s/o7q9kejiabs7y88/CrashVideo.mp4?dl=0
问题
1)解决方案是什么?
2)这与内存问题有关吗?当我再加载10个视频时,该应用程序由于名为“致命异常:java.lang.OutOfMemoryError”的错误(如我在Crashlytics中看到的那样)而崩溃。 当使用大量内存时,库是否会不加载本机反应视频?
3)当我在视图外滚动图像/视频时,Android上的FlatList是否会从内存中卸载?否则,如果我向下滚动,是否会不断将图像/视频添加到应用程序内存中,最终将导致崩溃?
4)是视频性能的另一种解决方案吗?我在想react-native-thumbnail最初显示缩略图而不下载整个视频。我在安装该库时遇到麻烦(https://github.com/phuochau/react-native-thumbnail/issues/35上的问题#35),您知道获取视频缩略图的更好方法吗? (这样一来,我无需在供稿中显示视频,而是在其他屏幕上以缩略图形式显示它们。)
5)Exoplayer是否可以消除此问题?
我相信这是迄今为止该应用程序面临的最大挑战。请为包含视频的供稿的应用程序贡献找到的解决方案。 (我已经在Github上发布了问题,但有时我只能在SO https://github.com/react-native-community/react-native-video/issues/1318上得到答复)
谢谢!