我有一个应用程序,它有一些静态变量.这些变量存储在一个名为DataContext的独立类中.这些变量在应用程序启动时从原始文件初始化(在MyApplication的onCreate()中调用名为DataContext.initConstant()的方法,该方法扩展了Application).
(编辑:initConstant方法使用AsyncTask从文件加载此数据).
当我的应用程序在后台运行一段时间或者我的应用程序用于大量内存时,这些静态变量将变为null.
如何预防?
如果不是我应该怎么做我的静态变量?
我有其他数据存储在静态变量中以用于不同的活动,但我清除它们或在onLowMemory()MyApplication 中将它们传递给null .
如果这些数据太大而无法在Intent中序列化,数据库无法使用(无论出于何种原因),并且无法通过序列化存储在文件中,那么在活动之间保持一些数据可访问的最佳方法是什么?
这是我的代码,简化为相关部分:
<html><head><title></title>
<style type="text/css">
body { background-color: #fff; }
#titlebar{ border: solid 1px black; margin:10px; }
#bodyWrapper{ float: left; width: 100%; }
#bodyColumn{ margin-left: 230px; height:500px; }
#menuColumn{
float: left;
width: 230px;
border: solid 1px black;
margin-left: -100%;
height:500px;
}
.bigContent{ width: 100%; margin:10px; }
.section{
border: 1px solid black;
padding:10px;
overflow: auto;
}
</style></head><body>
<div id="titlebar">Title</div>
<div id="bodyWrapper"><div id="bodyColumn">
<table class="section bigContent"><tr><td>FIRST</td></table></table>
<div class="section bigContent">SECOND</div>
</div></div>
<div id="menuColumn">MENU</div>
</body></html>
Run Code Online (Sandbox Code Playgroud)
我的问题:
<div>含有"SECOND"是比更宽的<table>含"FIRST"虽然两者都是兄弟姐妹和具有width=100%经由同一CSS类<div> …我有一个我正在编写的LDAP应用程序的beans.xml文件.我允许用户选择几个LdapContextSource.对于每一个我有一个不同的豆,例如
<bean id="ldapTemplate" class="yyy.LdapTemplate">
<constructor-arg ref="contextSource1" />
</bean>
<bean id="contextSource1" class="xxx.LdapContextSource">
...
</bean>
<bean id="contextSource2" class="xxx.LdapContextSource">
...
</bean>
<bean id="contextSource3" class="xxx.LdapContextSource">
...
</bean>
Run Code Online (Sandbox Code Playgroud)
您可以看到只有一个上下文源bean被实例化,因为ldapTemplate bean只引用了一个.但是,当我运行我的应用程序时,stdout中的Spring日志消息提供了有关每个上下文源的信息,即使只依赖于其中一个.
2011年1月25日上午11:56:36 org.springframework.ldap.core.support.AbstractContextSource afterPropertiesSet INFO:未设置属性'userDn' - 匿名上下文将用于读写操作Jan 25,2011 11:56:37 AM org.springframework.ldap.core.support.AbstractContextSource afterPropertiesSet INFO:未设置属性'userDn' - 匿名上下文将用于读写操作2011年1月25日上午11:56:37 org.springframework.ldap.core. support.AbstractContextSource afterPropertiesSet INFO:未设置属性'userDn' - 匿名上下文将用于读写操作
我的问题是:
(1)Spring使用未引用/依赖的上下文源做什么?它们永远不应该在我的应用程序中实例化,它让我担心Spring正在为每个bean提供日志信息.
(2)我应该注释掉应用程序中未使用的上下文源bean吗?让他们没有注释会有什么后果?什么是标准做法?
谢谢,
ktm
我必须使用 QListWidgets、一个源列表、一个目标列表和一个按钮。每当单击该按钮时,我希望从源列表中删除选定的项目并将其插入到目标列表中。我尝试过,source_list.removeWidgetItem(aSelectedItem)但这根本不起作用。:( 我做错了什么?之后我需要以某种方式更新列表吗?

在上面显示的Mac上询问弹出窗口时,如何使用键盘选择另一个按钮(左键).没有点击鼠标按钮,我想做左按钮高亮.有没有快捷方式?
我正在使用Ubuntu 10.10,我想安装Subversion.我不需要http访问文件,我想使用SSH.我见过的关于如何安装Subversion的大多数示例都使用Apache.因为我正在使用NGINX,所以我不想在我的服务器上安装Apache.我可以在不安装Apache的情况下安装Subversion吗?如果有,怎么样?谢谢!
我想要做的就是404从PHP 发送状态代码 - 但是以通用的方式.双方Router::statusCode(404)并Router::statusCode(403)应工作,以及任何其他有效的HTTP状态代码.
我知道,您可以将状态代码指定为第三个参数header.可悲的是,这只有在你指定一个时才有用string.因此,呼吁header('', false, 404)并没有工作.
此外,我知道,可以通过header状态行的呼叫发送状态代码:header('HTTP/1.1 404 Not Found')
但要做到这一点,我必须Not Found为所有状态代码(404)维护一系列原因短语().我不喜欢这个想法,因为它在某种程度上是PHP已经完成的重复(对于第三个header参数).
所以,我的问题是:有没有简单而干净的方式在PHP中发送状态代码?
我曾经听说过将花括号留在单行语句中可能会对JavaScript产生不利影响.我不再记得推理了,谷歌搜索也没多大帮助.在JavaScript中用花括号括起所有语句是否有任何好处?
我问,因为每个人似乎都这样做.
是否有可能以某种方式强制200(缓存)响应而不是304未针对静态文件进行修改?如果是这样,您可以节省大量服务器请求,并加快返回访问者的加载时间.
我正在编写一个Ruby脚本/应用程序,可以帮助我将LaTeX编译为(至少)PDF。我希望它具有的功能之一是它应该pdflatex迭代运行,直到PDF收敛为止(我猜应该如此)。
这个想法是将一次迭代中生成的PDF与使用其指纹的前一次迭代中生成的PDF进行比较。特别是,我目前使用Digest::MD5.file(.)。
现在的问题是,这永远不会收敛。(希望的)罪魁祸首是PDF的时间戳,时间戳至少设置为秒pdflatex。由于运行时间pdflatex通常超过一秒钟,因此结果不断变化。也就是说,我希望在某个时间点之后,PDF的时间戳等于时间戳。这个假设可能是错误的。提示表示赞赏。
我该怎么办?到目前为止,我的基本想法是:
您有更多的想法,甚至解决方案吗?解决方案只能使用在Linux上运行的免费软件。这样,只使用Ruby是首选,但是完全可以使用外部软件。
顺便说一句,我不完全了解PDF的编码方式,但我怀疑仅比较包含的文本对我不起作用,因为在以后的迭代中仅图形或链接可能会更改。
可能相关: