gpt4 book ai didi

ios - 消耗足够内存导致应用程序被操作系统转储的最快方法是什么?

转载 作者:可可西里 更新时间:2023-11-01 04:29:31 25 4
gpt4 key购买 nike

我有一个应用程序,我称之为 memory eater,它的目的是强制操作系统转储其他应用程序。它通过随着时间的推移消耗大量内存来实现这一点,直到由于内存压力而终止。为了消耗内存,我基本上复制了数据的 JPEG 表示:

-(IBAction)didTapStartButton:(id)sender{
int i = 200;
while (i>0) {
NSData* data = [UIImagePNGRepresentation(self.image) mutableCopy] ;
[self.array addObject:[[data description] mutableCopy]];
[self.array addObject:data];
i--;
}
}

这完全是通过反复试验完成的,我认为有一种更直接的方法可以消耗大量内存。

最佳答案

您可以在循环中使用 malloc()

while (1) {
int *ptr = malloc(4096);
assert(ptr != NULL);
*ptr = 0;
}

*ptr = 0 行是强制页面变脏所必需的,否则您将消耗地址空间而不是内存。数字 4096 确保循环中的每次迭代都将恰好将一个脏页添加到地址空间,因为 4096 是最常见的页面大小。

关于ios - 消耗足够内存导致应用程序被操作系统转储的最快方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25299832/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com