我正在开发一款聊天应用,我们拥有扩展名为mp4的高质量表情(文件大小约为300kb),因为GIF格式画质较差且颜色受限(256),所以不能使用。我需要将文件在ListView中显示为循环视频。目前,我正在尝试使用TextureView和MediaCodec类来实现这一点。可以在https://github.com/google/grafika找到源代码。问题是,当我尝试同时播放超过4个视频时,会出现IllegalStateException异常,异常位置在android.media.MediaCodec.dequeueOutputBuffer处。我认为这是由于大量的内存消耗导致的,在我的设备(HTC ONE M7)上播放四个视频时,处理器负载超过60%! 我该怎么解决这个问题?也许我需要使用第三方编解码器?或者使用视频来显示表情的想法不好,我需要放弃并使用像GIF这样的东西吗?