问题标签 [low-memory]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - IOS 应用程序在 iPhone 5 上崩溃
我正在编写一个 IOS 应用程序。它涉及大量数据下载,其中涉及 JSON 格式的图像和文本。我正在使用 NSOperation Queue 使下载过程按顺序进行。整个应用程序在 iPhone4 和 iPhone4s 中运行良好,但在 iPhone 5 中,应用程序在将数据插入数据库时崩溃。我有一个 API 调用,它返回大约 350 个项目。将这些记录插入数据库时,应用程序崩溃。
调试时我没有收到任何崩溃日志。该应用程序只是退出。但从管理器内的设备日志中,它会显示内存警告。MyApp是我的应用程序的名称。
在设备控制台中我可以看到这个
让我感到困惑的是,这只发生在 iPhone5 上。所有设备都在 IOS 7.0.4 上运行。
与以前的型号相比,iPhone 5 分配的内存是否更少?未启用添加 NSZoombies。
这里出了什么问题?
谢谢
memory-management - 什么是内核管理内存以及如何减少内存?
作为 linux 中内存管理和内存使用的新手。这个问题可能很琐碎。仍然在这里我有一些疑问。如果我错了,请建议我。
从中cat /proc/meminfo
列出内存使用情况和可用性。
从这里我可以了解 Total avilabel RAM、free ram 和更多系统。从这里我可以派生内核管理内存。
Kernel Managed = MemTotal - (MemFree + Bufferes + Cached + AnonPages)
假设从 meminfo 我 hv 低于值。
内核管理 = 384.26M -(250.43M+ 1.73M+ 43.71M+71M)=17.4M
如果kernel managed memory=17.4MB
.
1)这个内核管理的内存到底是什么意思?内核如何管理它使用的所有内存?
2) 是否有可能减少这个内存,例如从 17MB 到 12MB 或更少?如果可以,我该怎么做?
node.js - 具有内存压力感知的 NodeJS 内存缓存
我来自 Java 世界,并且有很多(本地)内存缓存的实现。此外,在 Java 世界中还有SoftReference和WeakReference,根据定义,它们是缓存实现的理想选择。
我知道 JavaScript 没有类似的东西,所以我想知道是否有可能具有某种缓存功能,如果存在“低内存压力”,它将删除/释放(所有)缓存对象。到目前为止,我知道lru-cache模块,但它的实现将对象保存到某个数量/大小,这很好,但还不够好,因为如果没有足够的内存,你自然会期望缓存释放对象.
当进程内存不足时,甚至可以从系统中获取 NodeJS 中的某些事件吗?
或者可能是一些可以引发事件的库,例如:
到目前为止,我已经找到了npm memwatch和npm 使用模块,但仍然无法将所有这些部分组合在一起。
mysql - 无法在 linux 上启动 mysqld_safe
我已经下载了 mysql 二进制文件,我正在尝试按照此处的说明进行安装。当我尝试运行bin/mysqld_safe --user=mysql &
命令时,我得到以下输出:
40211 19:04:56 mysqld_safe 记录到“/usr/local/mysql/data/irpowerweb.err”。
140211 19:04:56 mysqld_safe 使用来自 /usr/local/mysql/data 的数据库启动 mysqld 守护进程
140211 19:04:57 来自 pid 文件 /usr/local/mysql/data/irpowerweb.pid 的 mysqld_safe mysqld 结束
错误日志的内容是:
这是my.cnf
:
我只想让 mysql 以 w/e 方式运行。我尝试使用 安装包yum install mysql-server
,下载 rpm 包,但未能启动。我选择了简单的 tar 包并开始按照上面的链接进行操作,但我又一次未能启动它。
由于错误状态Cannot allocate memory for the buffer pool
,我尝试将内存减少到 64m(默认为 128m),但没有成功。我是这方面的新手,我已经做了很多搜索,还没有弄清楚如何解决这个问题。
PS 如果有帮助,我正在使用 ssh 连接到内存不足的服务器(512MB 内存,没有交换),我认为这是一个红帽 Linux。
android - 活动因内存不足而被杀死后重新创建的片段
我有Activity
一个ViewPager
里面。当创建的活动asyncTask
被执行并且任务完成时,Fragment
使用结果数据创建一个。(重要说明:没有这个数据,Fragment
创建视图将崩溃,因为它明确需要该数据)
现在Fragment
创建后我回到主屏幕,打开另一个应用程序等等并创建内存不足的情况。Activity
由于内存不足,我被杀死了。
现在我打开任务管理器并再次单击我的应用程序。
Android 试图将所有内容重新显示在屏幕上。由于所有Activity
被杀死的数据也丢失了,但它仍然尝试重新创建片段,尽管没有数据并且我的应用程序崩溃了。
我能做什么?...我有两个解决方案(至少理论上的解决方案)
防止在恢复时重新启动活动(我该怎么做????)
防止片段创建视图使用数据,除非它存在
好吧,我确实实施了第二个解决方案。所以应用程序一开始不会崩溃,因为“不存在数据”是handeld。但我意识到 ViewPager 也与片段断开连接,因为井活动被杀死。所以我无法从活动中返回片段。
java - Viewpager 在低内存杀死时松散片段连接
在我的活动中,我使用 viewpager。我创建了两个片段并将其附加到视图寻呼机,并在我的活动中不时从这些片段调用一些方法.. 在应用程序在低内存上被杀死并且重新创建的片段存在但与 viewpager somehome 没有连接.. 我可以不调用 MyFragment.mymethod().. 它说 MyFragment 为空
. . .
android - Android:当系统重新启动我的应用程序进程时,如何保存在应用程序类中初始化的对象
在我的应用程序类中,我有一个对象,由启动器屏幕启动的所有活动使用。问题是,在内存不足的情况下,系统会自动重新启动我的应用程序(我可以在设置 -> 应用程序 -> 运行进程选项卡中看到)。由于它正在重新启动(一旦应用程序处于后台就会发生),我一直使用的对象被重置为空。
我的场景:
在我的 Launcher Activity 中,我点击 DB 并在线程中获取值并使用 Setter & Getter 我在 Application 类中设置 Object 值。
设置后,我将从那里进行四个活动 A(Launcher) -> B -> C -> D
现在我正在后台运行,我的设备在低内存中运行,此时我的进程被终止并重新启动(即在后台)。
在重新启动时,我的对象被重置为 null,现在如果我从最近列表或通过启动器启动我的应用程序,它仍然会启动我在上述情况下进入后台的最后一个 Activity,它是 Activity D,我正在访问抛出空指针的对象。
我的问题是,
- 当系统杀死它时,有什么方法可以在应用程序类级别保存对象(就像我们在 Activity onSaveInstanceState 中所做的那样)。
android - DevicePolicyManager 无法显式销毁
检查是否应提示用户在设备上启用 DeviceAdmin 后,我在 Activity 中启动 DevicePolicyManager。
如果用户单击“激活按钮”,将启用 deviceAdmin。
如果用户单击“取消”按钮,用户将看到一个对话框,“您需要在设备上激活设备管理员才能继续使用该应用程序”。通过单击此对话框上的“确定”,我们退出应用程序。
这可以在任何设备上按预期工作。但是,当从设置部分在设备上启用“不保留活动”时,如果用户选择“取消”DeviceAdmin 激活提示,上述行为会发生变化。当用户在提示上单击“取消”时,意图 DevicePolicyManager 会重新启动,但不会显示对话框 -“您需要在设备上激活设备管理员才能继续使用该应用程序”。有人知道为什么会这样吗?
caching - 清理低内存的 WinRT 缓存
我有一个使用许多(有时很大)图像的 WinRT 应用程序。图像存储在磁盘上,但加载图像需要一些时间,这会导致视觉中断。为了解决这个问题,我预先加载图像并将它们存储到缓存中。
但是,我有点犹豫要在内存中存储任意数量的图像,并且希望使用在内存不足时自动清理的缓存。
我将如何实施呢?在 iOS 上有一种didReceiveMemoryWarning
方法,但我找不到 WinRT 的等效方法。
ios7 - 使用 NSURLSession 在后台下载多个文件时处理内存压力
我正在使用 NSURLSession 在后台下载 50-60MB [大约 40-50] 的视频文件。有时我收到内存不足消息和应用程序崩溃,我无法访问任何应用程序。有没有办法处理这个问题?