2016-08-17 22 views
6

Tôi đã gỡ lỗi ứng dụng sử dụng Firebase cho rò rỉ bộ nhớ và sau một thời gian đào sâu vào mã của tôi, tôi thấy rằng vấn đề thực tế là FIRApp.configure() bên trong application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) của tôi trong AppDelegate.FIRApp.configure() tạo rò rỉ bộ nhớ IOS

Theo như tôi biết mọi thứ được định cấu hình đúng cách, tôi đang sử dụng cụm vỏ ca cao để cài đặt và cập nhật firebase. Tôi cũng đang thay đổi statusbar của tôi bên appdelegate tôi mã như sau:

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 
} 

Tôi cũng đang cho thấy công cụ dụng cụ để hiển thị thêm thông tin về vụ rò rỉ:

The CFNetwork is the responsible library

Và tôi chắc chắn đó là FIRApp.configure() vì tôi đã xóa nó để thử nghiệm và không có rò rỉ.

Hy vọng mọi người đều có ý tưởng về cách khắc phục sự cố này, cảm ơn bạn.

+0

bạn có nhận được bất kỳ giải pháp nào cho vấn đề này không? – mayuur

Trả lời

1

Tôi có cùng một vấn đề. Sau khi đào bới, có vẻ như Firebase Analytics là nguyên nhân gây rò rỉ.

Dưới đây là những gì tôi đã làm:

  • thiết FIREBASE_ANALYTICS_COLLECTION_ENABLED-NO
  • FIREBASE_ANALYTICS_COLLECTION_DEACTIVATED-YES trong GoogleServiceIn-info.plist.

Ít nhất điều này phù hợp với tôi. Đối với những người dựa vào phân tích firebase, điều này chắc chắn là một lỗi.

+0

Tôi không còn sử dụng Firebase cho ứng dụng của mình nữa, do đó, đây là loại cuối hahaha anyways cảm ơn bạn, tôi đã giải quyết vấn đề theo cách tương tự, hy vọng họ sẽ khắc phục sự cố này sớm. – reojased

+0

Các bạn đã điền vào một báo cáo lỗi chưa? –

+0

Bạn có thể chỉ ra lớp hoặc phương pháp nào gây ra rò rỉ bộ nhớ không? Tôi không thể nhìn thấy nó từ ảnh chụp màn hình ở trên. Đề cập đến "phân tích firebase chắc chắn là một lỗi" không phải là rất hữu ích ở đây. – adbitx