2011-09-16 38 views
5

Điều này có thể được thảo luận trước đây, nhưng tôi không tìm thấy câu trả lời. Tôi đã gặp vấn đề với ứng dụng của tôi beeing giết khi một số ứng dụng khác cần bộ nhớ. Tôi đã xem Activity Lifecycle và thử nghiệm ứng dụng của mình. Tất cả tôi muốn biết là: khi trong một trong các quy trình của tôi được gọi là onPause() hoặc onStop() và các ứng dụng khác cần bộ nhớ, làm thế nào để tránh khỏi quá trình của tôi bị giết.Android: cách tránh khỏi quá trình bị giết

Trả lời

6

Bạn không thể tránh điều này. Khi hệ thống cần bộ nhớ hoặc làm sạch, nó có thể giết chết ứng dụng.

Tuy nhiên, bạn bằng cách nào đó có thể kiểm soát tầm quan trọng của ứng dụng của bạn để có thể sống lâu hơn. Đọc ở đây về tầm quan trọng của các phần ứng dụng khác nhau liên quan đến quá trình giết chóc: http://developer.android.com/guide/topics/fundamentals/processes-and-threads.html#Lifecycle

Để có ứng dụng chạy dài, hãy thực hiện Dịch vụ. Tuy nhiên, Dịch vụ cũng có thể bị giết, nhưng lịch trình hệ thống sẽ khởi động lại các dịch vụ bị giết hoặc bị trục trặc sau một thời gian.

+0

trong một số trò chơi, khi bạn ở giữa chơi nút bấm (cứng) nút HOME và sử dụng một số ứng dụng khác, trò chơi không bao giờ bị giết (không bao giờ được chú ý). làm thế nào họ có thể làm điều này sau đó? –

+0

Nó phụ thuộc vào phiên bản Android. Vào ngày 2,3, hoạt động không hoạt động bị giết sau khoảng 20 phút bất kể trạng thái bộ nhớ. Hoặc họ chỉ lưu/khôi phục trạng thái chính xác mà bạn không nhận thấy. –

1

Điều này là không thể, mọi ứng dụng đều được xử lý như nhau trong Android và một trong những điều bạn phải xem xét là ứng dụng của bạn có thể bị giết. Bạn có thể tiếp tục chạy các dịch vụ, điều đó có thể làm những gì bạn muốn nếu đó là thứ gì đó trong nền.

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