2009-03-15 11 views
12

Nếu ứng dụng iPhone của bạn sử dụng UIWebView và tải nhiều trang có hình ảnh lớn, bạn có thể thấy rằng bạn đang rò rỉ bộ nhớ. Điều này có thể được giải quyết?Bộ nhớ bị rò rỉ UIWebView?

+0

Câu trả lời của tôi từ một câu hỏi tương tự: http://stackoverflow.com/a/19609252/423171 – cprcrack

Trả lời

2

Đó là một vấn đề đã biết.

Marco Arment đề cập đến sự rò rỉ ở đây. http://blog.instapaper.com/post/60628543

Không có nhiều việc bạn có thể làm. Một tùy chọn để "chặn" html cố gắng cắt bớt các phần mà bạn không cần. Rõ ràng, điều này sẽ không có khả năng làm việc cho một webview mục đích chung.

Trong thời gian chờ đợi, bạn có thể phải đợi bản cập nhật từ Apple.

0

Tôi đã làm điều này và có vẻ như để giúp (nhìn Rò rỉ và chạy thông qua mô phỏng anyway):

MyWebViewController *myWebViewController = [[[MyWebViewController alloc] initWithNibName:@"MyWebView" bundle:[NSBundle mainBundle]] autorelease]; 

Đó là "autorelease" mà dường như để giúp đỡ trong rằng sự rò rỉ không nhận được lớn hơn trên mỗi webview tôi mở.

+1

@ The-Kenny: Chỉ khi bạn không thực sự sử dụng bộ điều khiển chế độ xem ngay lập tức, trong trường hợp đó bạn nên giữ nó trong thuộc tính mạnh/giữ lại thay vì biến cục bộ. –

6

Hãy thử thêm

[webView loadHTMLString: @"" baseURL: nil]; 

ngay trước khi bạn nhả webview. Đối với một rò rỉ trong 4.2.1 liên quan đến hiển thị một PDF trong một UIWebView điều này giải quyết hầu hết các vấn đề rò rỉ cho tôi.

+0

đẹp !! làm việc cho tôi ........ Cảm ơn! – iGo

1

tôi nhận được một

nhận được cảnh báo bộ nhớ, mức độ 1

và sau đó ứng dụng bị rơi với kích thước văn bản rất lớn trong giao diện web.

This article đã giúp tôi giải quyết sự cố rò rỉ. Rất dễ dàng và dễ sử dụng.