作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在为我未使用的 J2ME SE Hazel j20i 开发 J2ME 应用程序(使用 SDK 3.4),以通过 Location API 记录 GPS 数据。
CLDC 1.1、MIDP 2.1 和 JSR-75 都不提供 java.io.BufferedWriter。所以我手动完成。
我需要存储多少 GPS 读数(GPS 记录将无限期地运行直到停止) 在内存(变量)中,直到我必须将其写入磁盘?
什么对性能最好?
最佳答案
知道写入/读取硬盘驱动器(SD 卡等)的成本高于写入/读取内存 (RAM),我建议您在收集 GPS 数据时跟踪可用内存,并定义写入数据的阈值到硬盘。我无法告诉你最佳阈值是多少。您可以这样跟踪内存:
long totalMemory = Runtime.getRuntime().totalMemory();
long freeMemory = Runtime.getRuntime().freeMemory();
if(threshold > freeMemory)
//1-write to hard drive
//2-make sure you use the proper mechanism to help the
//garbage collector (GC) do its job. ex: reinitialize your data structures, set them to null ...
请注意,GC 在清除内存之前可能需要一些时间,您还需要正确处理它,因为清除数据结构后,您的可用内存不会立即变大,之前可能会变为零,但希望 GC 会做到这一点工作,你就不会忘记。不需要提醒您必须处理内存不足的情况!祝你今天过得愉快。
关于java - 将数据保存在内存中和将其写入驱动器之间是否存在最佳点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35272711/
在这段代码中,我想知道在 else block 中执行的代码和在 if block 之后执行的代码有什么区别? #include using namespace std; int digits(in
我有这样的场景,比如我需要运行一个位于 12.34.567 的 API curl 请求,登录后我必须再登录一台主机 98.76.543。 登录到第二个主机后,我必须运行curl -XPOST -H"C
我是一名优秀的程序员,十分优秀!