Trang Chủ Xã hội Truyền thông Cách quản lý bộ nhớ cho bạn Ứng dụng iOS - núm vú

Cách quản lý bộ nhớ cho bạn Ứng dụng iOS - núm vú

Mục lục:

Video: Cách giải phóng cả GB bộ nhớ trong cho iPhone 2025

Video: Cách giải phóng cả GB bộ nhớ trong cho iPhone 2025
Anonim

Như thế mạnh mẽ, iPhone - và ngay cả iPad - đều bị giới hạn trong tài nguyên, và quan trọng nhất của các tài nguyên này cho các ứng dụng iOS là bộ nhớ. thực sự hiểu làm thế nào để quản lý bộ nhớ một cách chính xác trong ứng dụng của bạn, bạn cần phải hiểu bộ nhớ IOS làm việc như thế nào.

Quản lý bộ nhớ

Bất cứ khi nào bạn (hoặc một đối tượng khuôn khổ) tạo một đối tượng bằng Objective-C, bạn phân bổ bộ nhớ cho mặc dù các thiết bị iOS và Mac đều sử dụng bộ nhớ ảo không giống như Mac, bộ nhớ ảo trong iOS bị giới hạn ở dung lượng bộ nhớ vật lý thực tế.Vì vậy khi bắt đầu chạy bộ nhớ, Trình quản lý bộ nhớ giải phóng các trang bộ nhớ có chứa nội dung chỉ đọc (chẳng hạn như mã).

Bằng cách này, tất cả những gì cần làm là nạp "bản gốc" vào bộ nhớ khi chúng tương đối giống với những gì Mac làm, iOS không tạm thời lưu trữ bộ nhớ "thay đổi" (như dữ liệu đối tượng) vào đĩa để giải phóng không gian và thứ en đọc dữ liệu trở lại sau khi cần thiết. Tình trạng này giới hạn số lượng bộ nhớ có sẵn.

Như bạn thấy, khi một đối tượng được thực hiện bằng bộ nhớ, điều quan trọng là bộ nhớ sẽ được phát hành để sử dụng bởi các đối tượng khác.

Nếu bộ nhớ tiếp tục bị hạn chế, hệ thống cũng có thể gửi thông báo tới ứng dụng đang chạy, yêu cầu bộ nhớ thêm miễn phí. Đây là một trong những sự kiện quan trọng mà tất cả ứng dụng phải đáp ứng.

Trong Mục tiêu-C, bộ nhớ được quản lý trong các ứng dụng iOS bằng đếm tham chiếu - giữ cho hệ thống được cập nhật về việc một đối tượng hiện đang được sử dụng hay không. Đọc trên cho tất cả các chi tiết.

Số đếm

Trong thực tế, quản lý bộ nhớ chỉ đơn giản là một tập thể dục trong đếm. Mỗi đối tượng có số tham chiếu riêng của nó, hoặc giữ lại số đếm, đó là số các đối tượng khác hiện đang sử dụng đối tượng. Miễn là số đếm giữ lớn hơn số không, bộ quản lý bộ nhớ giả định rằng ai đó quan tâm đến đối tượng đó và để nó một mình.

Khi một đối tượng giữ lại đếm đi đến số không, bộ quản lý bộ nhớ biết rằng không ai cần nó nữa và gửi các đối tượng một dealloc tin nhắn, và sau đó, bộ nhớ của nó được trả lại cho hệ thống để được tái sử dụng.

Quá trình đó nghe có vẻ khá đơn giản, nhưng làm thế nào để tính giữ lại được tăng lên và giảm? Cho đến khi Xcode 4. 2 và iOS 5. 0, bạn phải quản lý số lượng giữ lại trong ứng dụng của mình. Khi một đối tượng được tạo thông qua phân bổ hoặc mới hoặc thông qua bản sao hoặc muteableCopy, số đếm giữ đối tượng được đặt là 1.

Khi ứng dụng của bạn sử dụng một trong những phương pháp đó, quyền sở hữu được chuyển đến đối tượng gửi tin nhắn - là, đối tượng đã được giữ lại và đối tượng đó đã gửi thư trở thành chủ sở hữu không chủ quyền của đối tượng. Quyền sở hữu ở đây có nghĩa là đối tượng sẽ ở đó để sử dụng cho đến khi nó được phát hành một cách rõ ràng bằng cách gửi một thông điệp khi nó không còn cần thiết.

Trước khi Xcode 4. 2 và iOS 5. 0, nếu bạn không tạo ra một đối tượng bằng một trong những phương pháp đó nhưng bạn muốn trở thành chủ sở hữu, do đó đảm bảo rằng đối tượng đó ở lại để bạn sử dụng cho đến khi bạn được thực hiện với điều đó, bạn phải gửi một thông báo giữ lại để tăng số lần giữ lại và khi bạn đã hoàn tất, để gửi một thông báo phát hành.

Điều này là do người tạo ra đối tượng (gây ra việc đếm giữ được đặt thành 1) có thể đã tự động gửi nó - đã gửi một đối tượng thông báo phát hành sẽ khiến nó được phát hành sau đó (thường là lần tiếp theo vòng lặp chạy được nhập).

Điều này hữu ích trong trường hợp bạn muốn từ bỏ quyền sở hữu của một đối tượng nhưng tránh khả năng nó được deallocated ngay lập tức (chẳng hạn như khi bạn trả lại một đối tượng từ một phương pháp). Trong cả hai ví dụ, bạn đã được duy trì một con trỏ đến đối tượng để nó có thể được sử dụng.

Mặc dù cách tiếp cận này là đơn giản trong lý thuyết, đó là một nhức đầu thực sự cho các lập trình viên. Phần lớn các sự cố hệ thống xảy ra vì các ứng dụng đã hết bộ nhớ và đã bị tắt bởi hệ thống. Trong một số trường hợp, ứng dụng không phản ứng với các phương pháp cảnh báo bộ nhớ và quản lý cảnh báo bộ nhớ thấp.

Tuy nhiên, hầu hết thời gian, ngay cả khi ứng dụng trả lời cảnh báo bộ nhớ thấp, nó đã bị giới hạn bởi những gì nó có thể làm được vì bộ nhớ bị rò rỉ 999. Bộ nhớ đã có sẵn vì một số đối tượng không được sử dụng, nhưng bộ nhớ của các đối tượng đó đã không được trả lại cho hệ thống. Không còn các con trỏ tới các đối tượng này, vì vậy chúng không thể được giải phóng và sau đó hủy bỏ và bộ nhớ được sử dụng lại. Nhà phát triển đã có một số cách để tự động quản lý bộ nhớ. Một là

bộ sưu tập rác, quét qua bộ nhớ và giải phóng các đối tượng không có con trỏ tới chúng. Bộ sưu tập rác cho Mục tiêu-C đã có trên máy Mac, nhưng thu gom rác thải có một số vấn đề. Nó có thể khởi động và tạm dừng các ứng dụng của bạn trong thời gian không thích hợp nhất, và nó ảnh hưởng đến hiệu suất và trải nghiệm người dùng vì bạn không có quyền kiểm soát, hoặc bất kỳ ý tưởng nào, khi nó xảy ra. Nó không bao giờ được thực hiện trên iOS và bị phản đối bắt đầu với OS X 10. 8 (Mountain Lion).

Cần phải thực hiện tất cả việc quản lý bộ nhớ này trong ứng dụng của bạn đã thay đổi với các phiên bản mới nhất của trình biên dịch Objective-C, bây giờ đi kèm với

tính tham chiếu tự động (ARC), được kích hoạt theo mặc định bất cứ khi nào bạn tạo một dự án. ARC làm cho bạn trong trình biên dịch những gì bạn đã từng phải làm một mình. Nó xử lý tất cả các bản phát hành, autoreleases, và giữ lại cho bạn.

Cách quản lý bộ nhớ cho bạn Ứng dụng iOS - núm vú

Lựa chọn của người biên tập

Làm thế nào để Thiết lập nhân viên trong QuickBooks Quá trình biên chế nâng cao - núm vú

Làm thế nào để Thiết lập nhân viên trong QuickBooks Quá trình biên chế nâng cao - núm vú

Sau khi bạn thành lập công ty của bạn thông tin cho bảng lương trong QuickBooks, bạn đã sẵn sàng để thiết lập nhân viên cho biên chế. Là một phần của quy trình Thiết lập biên chế nâng cao, QuickBooks hiển thị trang web nơi bạn có thể thêm nhân viên của mình. Bạn cũng có thể thêm nhân viên bằng cách hiển thị Trung tâm Nhân viên. (Chọn lệnh Employee → Employee Center và nhấp chuột ...

Làm thế nào để Thiết lập biểu đồ Tài khoản QuickBooks 2012 - núm vú

Làm thế nào để Thiết lập biểu đồ Tài khoản QuickBooks 2012 - núm vú

Biểu đồ tài khoản Danh sách trong QuickBooks 2012 là danh sách các tài khoản bạn sử dụng để phân loại thu nhập, chi phí, tài sản, nợ phải trả và số vốn chủ sở hữu của chủ sở hữu. Nếu bạn muốn xem chi tiết đơn hàng cụ thể của dữ liệu tài chính trên báo cáo, bạn cần một tài khoản cho chi tiết đơn hàng đó. Nếu bạn muốn ngân sách ...

Cách Thiết lập Máy in để in QuickBooks 2015 Hóa đơn - núm vú

Cách Thiết lập Máy in để in QuickBooks 2015 Hóa đơn - núm vú

Nếu bạn dự định in hóa đơn từ QuickBooks 2015, bạn chỉ cần cài đặt máy in hóa đơn một lần, nhưng bạn cần phải chỉ rõ một số quy tắc in ấn chung về hoá đơn. Các quy tắc này cũng áp dụng cho các bản ghi nhớ tín dụng và các đơn đặt hàng, bằng cách này. Để cài đặt máy in của bạn để in hóa đơn, làm theo các bước sau: Chọn ...

Lựa chọn của người biên tập

Hình ảnh Các chế độ phát trên một Canon EOS 70D - núm vú

Hình ảnh Các chế độ phát trên một Canon EOS 70D - núm vú

Một trong những điều tốt nhất về Canon EOS 70D của bạn có thể xem ảnh ngay sau khi bạn chụp chúng. Không còn đoán xem bạn có bị bắn mà bạn muốn hay cần thử lại; không còn lãng phí tiền bạc khi phát triển và in những bức ảnh bốc mùi. Để chuyển máy ảnh sang chế độ Phát lại, chỉ cần ...

Lựa chọn của người biên tập

Cách xem tab Thông báo của bạn trên Twitter - những con cần

Cách xem tab Thông báo của bạn trên Twitter - những con cần

Xem ai đang tương tác với bạn trên Twitter trực tiếp qua @replies và @mentions (Tweets để đáp ứng hoặc nói chung đề cập đến người dùng cá nhân), các mục yêu thích (cách thừa nhận hoặc đánh dấu trang Tweets) và retweets (chia sẻ nội dung đã được đăng bởi một người dùng Twitter khác). Yêu thích Nhấn vào biểu tượng ngôi sao, hoặc nút Video yêu thích, thêm vào Tweet của bạn ...

Sai lầm Twitter # 1: @reply versus @mention - núm vú

Sai lầm Twitter # 1: @reply versus @mention - núm vú

Mọi người dùng Twitter - mới và cũ - đã trở thành nạn nhân của sự nhầm lẫn giữa @reply versus @mention. Khi nhà phát triển thịnh vượng và nhà chiến lược nội dung Anum Hussein giới thiệu 21 mẹo đăng bài xã hội trên hội nghị INBOUND hàng năm, mẹo để hiểu sự khác biệt giữa @reply và @mention là số một ...

Mẹo vặt để xây dựng sự hiện diện của cá nhân trên Twitter

Mẹo vặt để xây dựng sự hiện diện của cá nhân trên Twitter

Twitter ban đầu phổ biến để giúp các cá nhân giữ liên lạc với bạn bè và người quen của họ qua các cập nhật nhỏ. Nhiều Twitterers cá nhân vẫn có xu hướng sử dụng Twitter theo cách này, cập nhật một vòng tròn gần gũi của bạn bè về những suy nghĩ và những sự kiện xảy ra trong cuộc sống của họ. Theo thời gian, bạn có thể theo kịp với những người mà bạn có thể không liên hệ ...