Android应用程序内存不足问题 – 尝试了一切,仍然无所适从

我花了整整4天的时间来尝试所有能够找出我正在开发的应用程序中的内存泄漏的东西,但很久以前,事情就停止了。 我正在开发的应用程序是社交性的,所以请考虑简介活动(P)并列出活动与数据 – 例如徽章(B)。 您可以从configuration文件跳转到其他configuration文件的徽章列表,其他列表等。 所以想象一下像这样的P1 – > B1 – > P2 – > B2 – > P3 – > B3等stream程。为了一致性,我加载configuration文件和同一用户的徽章,所以每个P页是相同的每个B页面。 这个问题的一般要点是:根据每个页面的大小,在导航一段时间之后,我会在随机的地方(比如地图,string等等)发现内存不足的exception,这似乎并不一致。 在做完所有可以想象的事情之后,为什么我的记忆力已经耗尽,我什么都没有想到。 我不明白的是,为什么Android不会杀死P1,B1等,如果加载时耗尽内存,而不是崩溃。 如果我通过onCreate()和onRestoreInstanceState()返回它们,我预计这些早期的活动将会死亡并被复活。 更别提这个了 – 即使我做了P1 – > B1 – >后退 – > B1 – >后退 – > B1,我仍然崩溃。 这表明某种内存泄漏,但即使在转储hprof并使用MAT和JProfiler之后,我也无法find它。 我已经禁止从网上加载图像(并且增加了加载的testing数据以弥补它,并使testing公平),并确保图像caching使用SoftReferences。 Android实际上试图释放它所拥有的一些SoftReference,但是在它崩溃之前就已经崩溃了。 徽章页从Web获取数据,从BaseAdapter将其加载到一个EntityData数组中,并将其提供给一个ListView(我实际上使用CommonsWare的MergeAdapter ,但在这个Badge活动中,实际上只有一个适配器,但是我无论如何都想提到这个事实)。 我已经通过了代码,无法find任何会泄漏的东西。 我清除了所有可以find的东西,甚至System.gc()左右,但仍然是应用程序崩溃。 我还是不明白为什么没有获得收益的非活动活动,我真的很喜欢弄清楚。 在这一点上,我正在寻找任何提示,build议,解决scheme……任何可能的帮助。 谢谢。

在uiwebview中使用本地html从相对path加载资源

我有一个非常简单的iOS应用程序加载一个非常简单的testing页面(test.html)的uiwebview: <html> <body> <img src="img/myimage.png" /> </body> </html> 我加载这个test.html文件到我的networking视图: NSURL *url = [[NSBundle mainBundle] URLForResource:@"test" withExtension:@"html"]; NSString *html = [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:nil]; NSURL *baseUrl = [NSURL fileURLWithPath:[[NSBundle mainBundle] bundlePath]]; [webView loadHTMLString:html baseURL:baseUrl]; 这工作正常,如果我引用没有相对path的图像,并把引用的图像在根目录path下XCode中的目标 – >复制束资源,但是我不能得到它与我的HTML文件中显示的相对path。 必须有一种方法来做到这一点,我有很多的图像,CSS,JavaScript文件,我想加载到Web视图,我不希望有根的一切,必须改变我的网站的所有引用应用程序。

什么是Scala中的lambdatypes,它们有什么好处?

有时我偶然发现了这个半神秘的符号 def f[T](..) = new T[({type l[A]=SomeType[A,..]})#l] {..} 在斯卡拉的博客文章中,给它一个“我们用过那种types的拉姆达技巧”的手摇。 虽然我有一些这样的说法(我们获得一个匿名types参数A而不必污染它的定义?),我发现没有明确的来源描述什么types的lambda技巧是什么,它有什么好处。 这只是句法糖,还是开辟了一些新的维度?

我可以在GDB的“内存访问”中设置一个断点吗?

我正在通过gdb运行一个应用程序,我想设置一个断点,任何时候访问/更改一个特定的variables。 有这样做的好方法吗? 我也会对用C / C ++来监视variables的其他方式感兴趣,看看它是否/何时发生变化。

bundle安装失败,SSL证书validation错误

当我在Centos 5.5上运行我的Rails 3项目的bundle install ,会失败并显示错误: Gem::RemoteFetcher::FetchError: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (https://bb-m.rubygems.org/gems/multi_json-1.3.2.gem) An error occured while installing multi_json (1.3.2), and Bundler cannot continue. Make sure that `gem install multi_json -v '1.3.2'` succeeds before bundling. 当我尝试手动安装gem(通过gem install multi_json -v '1.3.2' )它工作。 其他几个gem也会出现同样的问题。 我使用RVM(1.12.3),ruby 1.9.2,bundler 1.1.3。 如何解决它?

你怎么能在batch file中回显换行符?

你怎么能从你的batch file输出插入一个换行符? 我想做一些事情: > echo hello\nworld 哪个会输出: 你好 世界

带有ASP.NET Web API的JSONP

我正在使用Web API在ASP.MVC MVC 4中创build一组新的服务。 到目前为止,这是伟大的。 我已经创build了服务,并得到它的工作,现在我正在尝试使用JQuery使用它。 我可以使用Fiddler取回JSONstring,而且看起来没问题,但是因为这个服务存在于一个单独的站点上,所以试图用JQuery错误来调用它,使用“Not Allowed”。 所以,这显然是我需要使用JSONP的情况。 我知道Web API是新的,但我希望有人能帮助我。 如何使用JSONP调用Web API方法?

通过SSHconfigurationGitlogin一次

我通过ssh克隆了我的git仓库。 所以,每当我通过推或拉与原始主人沟通,我都必须重新input密码。 我怎样才能configurationGIT,使我不需要多次input密码?

如何更改apache服务器的根目录?

有谁知道如何更改Apache服务器的文档根目录? 我基本上希望localhost来自/users/spencer/projects目录而不是/var/www 。 编辑 我终于搞清楚了。 有人build议我更改httpd.conf文件,但是我最终在/etc/apache2/sites-available/defaultfind了一个文件,并将根目录从/var/www更改为/home/myusername/projects_folder并且工作正常。

什么时候使用点,箭头或双冒号引用C ++中的类的成员?

从其他C派生语言(如Java或C#)到C ++,首先非常令人困惑的是C ++有三种方法来引用类的成员: a::b , ab和a->b 。 我什么时候使用这些操作员中的哪一个? (注意:这是一个Stack Overflow的C ++常见问题解答的入口,如果你想批评在这个表单中提供FAQ的想法,那么在这个开始所有这些的meta上的贴子将是这个地方的答案。那个问题在C ++聊天室中进行监控,常见问题解决scheme首先出现,所以你的答案很可能会被那些提出这个想法的人阅读)。