11
"THREAD WARNING: ['Console'] took '81.661865' ms. Plugin should use a background thread." 

Trong khi chạy dự án iOS PhoneGap. Tương tự như vậy đối với một số plugin còn lại như định vị địa lý và hệ thống tệp.Cordova cho thấy một cảnh báo là "THREAD CẢNH BÁO: [Chức năng của bạn] mất [n] ms." Trong iOS

Vì tôi là người mới sử dụng Phonegap, hãy cho mọi người biết tôi làm cách nào để chạy plugin trên chuỗi nền.

Tôi cũng đã kiểm tra this.

Chúng ta có thể bỏ qua cảnh báo chủ đề này hoặc là nó liên quan đến vấn đề bộ nhớ trong iOS Điện thoại-khoảng cách

nhờ

+0

trùng lặp có thể xảy ra của [Làm thế nào để chạy các plugin cordova trong nền?] (http://stackoverflow.com/questions/22382260/how-to-run-cordova-plugins-in-the-background) –

+0

@Callodacity, Câu hỏi của tôi liên quan đến giải quyết cảnh báo tin nhắn trong khi sử dụng plugin trong nền, nhưng không phải làm thế nào để chạy plugin cordova trong nền – Sujania

+0

okay không phải lo lắng, tôi chỉ kiểm tra –

Trả lời

6

Theo this. giải quyết vấn đề cảnh báo của tôi

tôi thấy cảnh báo có thể được bỏ qua .Nhưng điều này có thể được giải quyết bằng cách thêm chủ đề nền sử dụng vòng lặp này: (Trong CDVLogger.m)

[self.commandDelegate runInBackground:^{ 

    //add your code here 
} 

Bây giờ điều này có vẻ như dưới đây để cảnh báo giao diện điều khiển:

- (void)logLevel:(CDVInvokedUrlCommand*)command 
{ 
    [self.commandDelegate runInBackground:^{ 
    id level = [command argumentAtIndex:0]; 
    id message = [command argumentAtIndex:1]; 

    if ([level isEqualToString:@"LOG"]) { 
    NSLog(@"%@", message); 
    } else { 
     NSLog(@"%@: %@", level, message); 
    } 
}]; 
} 
+0

Tương tự như cảnh báo có thể được giải quyết cho máy ảnh, định vị địa lý, pushplugin vv "[self.commandDelegate runInBackground:^{//code ở đây } " – Sujania

+1

điều này chỉ hạn chế đăng nhập được in trên sợi chính. Điều này chỉ kéo thông điệp đến chủ đề nền, nhưng không giải quyết được vấn đề thực tế của sự chậm trễ. –

1

Ngoài ra để thêm,

Nếu ai đó đang tìm kiếm một cách để chạy sepcifically plugin Định vị như một sợi nền với iOS Cordova có một sửa chữa trên Git Hub.

Nó loại bỏ cảnh báo đầu ra Xcode: "THREAD CẢNH BÁO: ['Geolocation'] mất 'X' ms. Plugin nên sử dụng chuỗi nền".

Tải plugin từ đây: https://github.com/guillaumedev/cordova-plugin-geolocation

Heres whats thay đổi (runInBackground gia tăng): https://github.com/guillaumedev/cordova-plugin-geolocation/commit/8fbceca845441f4f421548f243d2f05573d11225

Thông tin thêm về Cordova Threading: https://cordova.apache.org/docs/en/dev/guide/platforms/ios/plugin.html#threading

Các vấn đề liên quan