我听说很多图书馆如JXTA和PjSIP都有较小的足迹。这是否指向小资源消耗或其他什么?

有帮助吗?

解决方案

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

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

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

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

所有这一切,足迹的一般(学术)定义包括各种记忆/存储方面。

其他提示

来自维基百科内存足迹文章:

  

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

     

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

通常它占用的内存量 - 它在运行时留在内存中的“足迹”。然而,它也可以指出你的硬盘需要多少空间 - 尽管这些日子不是一个问题。

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

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

是的,内存或磁盘等资源

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top