2016-08-17 88 views
6

我一直在调试我的应用程序,它使用Firebase进行内存泄漏,经过一段时间挖入我的代码后,我发现实际问题是FIRApp.configure()它在我的application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?)在AppDelegate中。FIRApp.configure()创建内存泄漏IOS

据我所知,一切都以正确的方式配置,我使用可可豆荚来安装和更新Firebase。我还在修改我的AppDelegate里面我的状态栏上的代码如下:

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { 

    FIRApp.configure() 

    setStatusBarBackgroundColor(UIColor(red: 231/250, green: 97/250, blue: 44/250, alpha: 1.0)) 

    // Override point for customization after application launch. 
    return true 


} 

var window: UIWindow? 

override init() { 
} 

func setStatusBarBackgroundColor(color: UIColor) { 

    guard let statusBar = UIApplication.sharedApplication().valueForKey("statusBarWindow")?.valueForKey("statusBar") as? UIView else { 
     return 
    } 

    statusBar.backgroundColor = color 
} 

我还显示仪表工具,以显示对泄漏的详细信息:

The CFNetwork is the responsible library

我我确定它是FIRApp.configure(),因为我将它移除以进行测试并且没有泄漏。

希望任何人有关于如何解决此泄漏的想法,谢谢。

+0

你有没有得到这个问题的任何解决方案? – mayuur

回答

1

我有同样的问题。经过一番挖掘,似乎Firebase Analytics是导致泄漏的原因之一。

这里是我做过什么:

  • GoogleServiceIn-info.plist设置FIREBASE_ANALYTICS_COLLECTION_ENABLEDNO
  • FIREBASE_ANALYTICS_COLLECTION_DEACTIVATEDYES

至少这对我有用。对于那些依赖firebase分析的人来说,这绝对是一个错误。

+0

我不再为我的应用使用Firebase,所以这是迟到的哈哈哈,谢谢,我以类似的方式解决了问题,希望他们很快解决这个问题。 – reojased

+0

你们是否填写了错误报告? –

+0

你能指出哪些类或方法导致内存泄漏?我从上面的屏幕截图看不到它。提到“firebase分析确实是一个bug”在这里并不是很有帮助。 – adbitx