41

我听说 JXTA 和 PjSIP 等许多库的占用空间更小。这是指资源消耗小还是别的什么?

4

6 回答 6

49

占用空间指定应用程序在计算机 RAM 内存中占用的大小。

在谈到内存消耗时,足迹可能有不同的含义。根据我的经验,内存占用通常不包括在堆上分配的内存(动态内存)或从磁盘加载的资源等。这是因为动态分配不是恒定的,并且可能会根据应用程序或模块的使用方式而有所不同。在报告“低占用空间”或“高占用空间”时,通常需要对所需空间进行恒定或最高测量。

例如,如果在图像编辑器的占用报告中包含动态内存,则占用将完全取决于用户加载到应用程序中的图像大小。

在第三方库的上下文中,库作者可以通过确保您永远不会将比绝对需要的更多代码链接到应用程序二进制文件来优化库的静态内存占用。例如,在 C 中用于执行此操作的常用方法是将库函数分发到单独的 c 文件。这是因为大多数 C 链接器会将 c 文件中的所有代码链接到您的应用程序,而不仅仅是您调用的函数。因此,如果您在 c 文件中放置一个函数,那么链接器在调用它时将全部合并到您的应用程序中。如果您在 c 文件中放置五个函数,即使您只使用其中一个,链接器也可能会将所有这些函数链接到您的应用程序中。

尽管如此,足迹的一般(学术)定义包括各种内存/存储方面。

于 2009-10-24T13:52:57.260 回答
8

来自维基百科内存占用文章:

内存占用是指程序在运行时使用或引用的主内存量。

这包括各种活动内存区域,例如包含(大部分)程序指令(偶尔包含常量)的代码段、数据段(已初始化和未初始化)、堆内存、调用堆栈以及保存任何其他数据结构所需的内存,例如符号表、调试数据结构、打开的文件、映射到当前进程的共享库等,程序在执行时需要并且将在整个运行期间至少加载一次。

于 2014-08-01T08:54:20.770 回答
5

通常它是它占用的内存量 - 运行时它在内存中留下的“足迹”。然而,它也可以指它在您的硬盘上占用了多少空间——尽管现在这已经不是什么大问题了。

如果您正在编写一个应用程序并且有内存限制,请考虑运行一个分析器来跟踪您的程序正在使用多少。

于 2009-10-24T13:55:03.210 回答
4

它确实指的是资源。特别是记忆。它在运行时需要较少的内存。

于 2009-10-24T13:53:28.843 回答
1

是的,内存或磁盘等资源

于 2009-10-24T13:52:49.693 回答
-1

计算中的足迹(即计算机程序或计算机机器)被称为占用的设备内存,用于程序、进程、代码等

于 2021-01-02T19:00:05.113 回答