【发布时间】:2013-03-26 10:18:55
【问题描述】:
我的应用程序获取电影对象的 NSData 并通过网络发送它。问题是,如果视频足够大,我担心我的应用程序会因为内存中有太多数据而崩溃。有没有办法检查正在使用的 iPhone 的限制,所以我可以阻止它传输比这更大的视频?
【问题讨论】:
标签: iphone ios objective-c memory nsdata
我的应用程序获取电影对象的 NSData 并通过网络发送它。问题是,如果视频足够大,我担心我的应用程序会因为内存中有太多数据而崩溃。有没有办法检查正在使用的 iPhone 的限制,所以我可以阻止它传输比这更大的视频?
【问题讨论】:
标签: iphone ios objective-c memory nsdata
您的应用程序在使用过多内存时会收到内存警告。这是你唯一的了解方式。视图控制器将调用其didReceiveMemoryWarning 方法。还将引发 UIApplicationDidReceiveMemoryWarningNotification 事件。
【讨论】:
我认为它没有根据设备中可用的内存来定义限制。我建议你从磁盘上传文件。 ASIHTTP 可以从磁盘流式传输文件。这将解决您的记忆问题。
【讨论】:
即使您发现当前设备上的可用内存量,系统也会在您分配一半内存量之前很久就开始杀死应用程序。您不能简单地选择一个合理的安全块大小并分块发送视频吗?
【讨论】: