作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我有一个应用程序,我称之为 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/
对于我的问题,我找不到更好的措辞。 在我的应用程序中的某个时刻,我设置了一些非常密集的动画。问题是,在高端设备上,动画运行流畅且赏心悦目。另一方面,我测试过的一台低端设备在制作动画时表现非常糟糕。 试
我正在修补 OTP 模块 ( yubico_pam ),并尝试访问管理员选择的控制标志(例如必需,足够, ETC)。 有什么想法吗?这是否可行(无需解析文件)? 最佳答案 无法在 API 中查询此信息
我有一些为 Linux 编写的 C 代码,依赖于套接字和 arpa/inet.h 以及 libusb.h,我想在 MinGW 下为 Windows 编译它。 (请注意,当前项目只有一个非常简单的 Ma
我是一名优秀的程序员,十分优秀!