Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android dalvikvm堆增长堆(frag案例),同时上传视频_Android - Fatal编程技术网

Android dalvikvm堆增长堆(frag案例),同时上传视频

Android dalvikvm堆增长堆(frag案例),同时上传视频,android,Android,我在从4x设备上传视频时遇到了问题。我知道只有15秒的视频录制将在samsung S2中创建一个30 mb的文件,但当我尝试首先在php服务器上上传视频时,它会显示类似msg的消息 D/dalvikvm(7638):分配释放263K的GC,9%释放12838K/14087K,暂停13ms,总计13ms I/dalvikvm堆(7638):将堆(frag情况)增长到14.481MB,用于1048592字节分配 D/dalvikvm(7638):释放所有的GC 我从4x设备上传视频时遇到问题 这不是

我在从4x设备上传视频时遇到了问题。我知道只有15秒的视频录制将在samsung S2中创建一个30 mb的文件,但当我尝试首先在php服务器上上传视频时,它会显示类似msg的消息 D/dalvikvm(7638):分配释放263K的GC,9%释放12838K/14087K,暂停13ms,总计13ms I/dalvikvm堆(7638):将堆(frag情况)增长到14.481MB,用于1048592字节分配 D/dalvikvm(7638):释放所有的GC 我从4x设备上传视频时遇到问题

这不是问题。当您进行高成本操作时,这是正常的行为。您的堆的大小(隐式确定)在某一时刻是不够的,因此需要增大它。你应该怎样写进清单,这是同样的行为

android:largeHeap="true"
这个属性不起作用。当堆需要更大的大小时,它会在需要时自行成长。 此消息通常在内存不足时显示

全部释放263K,9%释放12838K/14087K,暂停13ms,总计 13ms I/dalvikvm堆(7638)

在这里,您只有9%的内存,堆需要增长。通常在
ALLOC
小于10%时会发生这种情况,不管您是否使用线程,一旦它是一个高成本的操作。当堆大小达到一个“临界点”时,出于安全原因和VM原因,应用程序将自动停止


一个可能的解决方案是,您需要将文件分成更小的块,然后逐个上传。

我不知道回答我自己的问题是个好主意。但我还是想给那些像我一样面临同样问题的人一些经验,因为在搜索了很多东西之后,我知道这个问题没有具体的解决方案,因为它是依赖于设备和大量内存消耗的过程。
然后我寻找了其他的选项,比如在上传之前压缩视频,但我也没有为此获得任何开源库。所以现在视频上传并不像我一开始想的那么简单

在后台线程中上传??除非你在相当长的一段时间内收到垃圾邮件,否则我不会太担心它。你正在做一个繁重的动作,它只需要一些记忆。你的应用程序从一开始就得到了最小的堆大小,并且对于这些情况有增长的空间。@Raghundan是的,我正在asyntask后台上传它。@Stefandbruijn那么有什么方法可以控制它吗?看看我的代码。有时我最多可以上传20 mb,但偶尔会上传一次。您不想为此使用AsyncTask。每当您的活动被破坏时,它将被取消。Thnx对于您可以看到的解释,我已经以多部分形式发送了视频。还有什么我需要把视频分割成块的方法吗???@vyas当你在服务器上发送时,你可以通过编程将文件分割成更小的块,但是在服务器上你应该合并它们,但是现在这个想法不太好,因为它是视频。我的意思是,因为它的文件很大,所以没有修复程序。它在logcat中唯一的警告是,如果您成功上传了文件,那么只加载CPU和RAM是没有问题的。
android:largeHeap="true"