- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
相关问题:
如果一个import
语句在函数内部,函数退出后它占用的内存是否会被回收?如果是,回收的时间是确定性的(甚至是-ish)吗?
def func():
import os
...
# function about to exit; will memory occupied by `os` be freed?
如果有人知道 micropython
的行为关于这个话题,加分。
最佳答案
第一次导入执行模块中的代码。它创建模块对象的属性。每个后续导入仅引用由第一个导入创建的模块对象。
Python 中的模块对象实际上是单例。为此,Python 实现必须在第一次导入后保留唯一的模块实例,而不管模块绑定(bind)到的名称。如果它无论如何都绑定(bind)到一个名称,因为还有 from some_module import some_name
形式的导入。
所以不,内存没有被回收。
不知道 Micropython,但如果它彻底改变这里的语义,我会感到惊讶。你可以简单地自己测试一下:
some_module.py:
value = 0
some_other_module.py:
def f():
import some_module
some_module.value += 1
print(some_module.value)
f()
f()
这应该打印数字 1 和 2。
关于python - 在函数内部导入 : is memory reclaimed upon function exit?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46813776/
我创建了一个在后台持续运行的服务 - 它永远不应该离线。 对于插入服务的每个较小模块,我有点担心需要使用的静态变量。由于父服务始终启动并运行(假设它永远不会宕机 - 完美的场景),静态成员不会随着时间
我有动态 PersistentVolume使用 PersistentVolumeClaim 进行配置. 我想在 pod 完成后保留 PV。所以我想要什么persistentVolumeReclaimP
我有以下 xaml:
我正在开发一个 iPad(仅限)应用程序,我偶然发现了一个奇怪的问题。该应用程序在 iPad 1 上出现内存警告后终止,但在 iPad 2 上运行正常。我正在使用 ARC 并以 iOS 5 为目标。我
可以使用命令docker system df ( mirror )(在 Docker 1.13.0 中引入)查看 docker 磁盘使用情况,例如: username@server:~$ docker
相关问题: python - import at top of file vs inside a function Should Python import statements always be
要在 App Store Connect 中更改应用程序的 bundle ID,不能有任何先前上传的版本;如果有,则无法编辑捆绑 ID。因此,要更改捆绑 ID(并随后从 App Store Conne
我写了一个简单的线程程序: #include #include #include #include #define THREADS 5 void* HelloWorld(void *t
我正在编写我的 servlet 程序并使用 jconsole 和 jmap 来监视其内存状态。我发现当我的程序运行时,内存池“PS Old Gen”变得越来越大,最后我的 servlet 无法响应任何
在一个方法中,我创建一个新的RDD,并缓存它,当rdd超出范围后,Spark是否会自动取消持久化RDD? 我是这么想的,但实际上发生了什么? 最佳答案 不,它不会自动取消持久化。 为什么?因为在您看来
我使用 VS2015 和 ReSharper C++ 编写了一个 c++ 程序,我遇到了以下检查: 有人可以解释一下为什么这个检查会跳起来吗?我相信这不是太关键的东西,但我还是很想知道。 这是相关的代
我在 EC2(Ubuntu 18.04)上运行一个私有(private) Gitlab Group 运行器。它最近经常在各个阶段开始失败的构建作业,但都有相同的根本原因:no space left o
这是来自 previous one 的后续问题这可能包含了太多的间接细节。考虑以下代码: BarViewController.h #import @protocol SomeDelegate - (
我是一名优秀的程序员,十分优秀!