在我的应用程序中,我想下载一个大数据文件(可能超过 50MB),但同时如果用户在音乐和其他方面使用了大量空间,那么代码如何知道应用程序的内存是有限的(例如 40 MB),代码现在应该限制下载。
问问题
2098 次
2 回答
3
您可以创建一个函数来执行此操作:
#include <sys/param.h>
#include <sys/mount.h>
+(float) diskSpaceLeft {
NSArray* thePath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
struct statfs tStats;
const char *path = [[NSFileManager defaultManager] fileSystemRepresentationWithPath:[thePath lastObject]];
statfs(path, &tStats);
float availableSpace = (float)(tStats.f_bavail * tStats.f_bsize);
return availableSpace;
}
于 2013-03-05T11:01:34.853 回答
0
用这个:
#include <sys/param.h>
#include <sys/mount.h>
+(float) diskSpaceAvailable {
NSArray* pathDocDir = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
struct statfs tStats;
statfs([[pathDocDir lastObject] cString], &tStats);
float total_space = (float)(tStats.f_blocks * tStats.f_bsize);
return total_space;
}
于 2013-03-05T11:30:29.060 回答