【问题标题】:Memory leakage when Running on iPhone在 iPhone 上运行时内存泄漏
【发布时间】:2012-06-20 09:42:44
【问题描述】:

我的 Iphone 应用程序通过 url 运行 HTTP Live Stream,当我在我的 Iphone 上播放它时,它显示内存泄漏。

这是泄漏显示。

Leaked Object = GeneralBlock-64 (64 bytes size)

Responsible Library = UIKit

Responsible Frame = GetContextStack 

只有当我在 IPHONE 上运行它时,如果模拟器没有泄漏。

请帮忙....

【问题讨论】:

  • 使用仪器检测导致泄漏的函数并向我们展示其代码。
  • 尝试使用 Profiler 或发布一些代码以进行检查。问题不是很明显!
  • [[玩家视图]setFrame:CGRectMake(0, 37, 480, 210)]; player.movi​​eSourceType = MPMovieSourceTypeStreaming; [player.view addSubview:loadView]; [播放器准备播放]; [播放器播放];还使用带有 iPhone 的仪器,所以得到这个泄漏和带有模拟器的仪器没有泄漏......

标签: iphone objective-c ios xcode memory-leaks


【解决方案1】:

检查您是在主线程还是子线程中运行代码,如果您使用 UI 元素,则必须仅在 UIThread 上运行代码。所以请检查您的代码一次

【讨论】:

  • 是的,我的应用程序正在为服务器加载内容,所以需要 4-5 秒才能显示用户的视图,我创建了另一个线程。
  • 因此,如果您在后台线程中更改任何子视图,它将显示泄漏。所以在 UIthread 上运行,如 [self performselectorOnmainTHread.....
  • 所以如果我使用 mainThread 那么加载应用程序的主视图将需要一些时间。
  • 在后台线程调用服务更新主线程k中的数据
  • 它是一个单进程调用服务获取 XML 并且依赖于 xml 数据创建 UI。
猜你喜欢
  • 2010-11-23
  • 2011-12-10
  • 2011-05-24
  • 2023-03-20
  • 1970-01-01
相关资源
最近更新 更多