Tôi đang sử dụng dịch vụ AIDL trong ứng dụng của mình. Tôi cũng muốn chạy một quy trình khác, vì vậy tôi sử dụng android:process=":remote"
trong khai báo dịch vụ trong tệp kê khai.sử dụng android: process = ": remote" tạo lại đối tượng ứng dụng Android
Vấn đề của tôi là khi quá trình :remote
bắt đầu, nó có vẻ tái tạo đối tượng Application
.
Tôi thực sự không làm như vậy khi tôi ghi đè đối tượng ứng dụng và gọi nhiều công cụ của khách hàng theo phương thức onCreate()
. Tuy nhiên, tôi muốn mã dịch vụ cư trú trong cùng một gói ứng dụng với khách hàng.
Tôi có thể đạt được điều đó không? Đối tượng Application
có được tạo lại khi quá trình mới bắt đầu không?
Đánh giá cao sự trợ giúp của bạn. Cảm ơn!
thì tại sao thuộc tính android: process = ": remote" có thể được đặt cho từng thành phần? Tôi có nghĩa là không phải là nó để cho các thành phần được chạy trong các quá trình khác nhau? Tôi thực sự muốn sự linh hoạt này trong trường hợp nếu dịch vụ từ xa bị treo do đó nó sẽ không sụp đổ khách hàng của tôi quá. –
@ user1986565: "Tôi thực sự muốn tính linh hoạt này trong trường hợp dịch vụ từ xa bị treo do đó nó sẽ không làm hỏng máy khách của tôi" - nhà phát triển tài năng sử dụng các kỹ thuật khác, chẳng hạn như xử lý ngoại lệ chưa xử lý, để giải quyết vấn đề này, thay vì lãng phí CPU của người dùng , RAM và pin. – CommonsWare
có dịch vụ từ xa lãng phí nhiều RAM CPU và pin hơn cục bộ không? Ý tôi là - nó thực hiện cùng một mã. Vì vậy, CPU và sử dụng pin là như nhau. Nó có đống riêng của nó, nhưng heap đang phát triển nên nó không nên quá lãng phí. Liệu tôi có sai? –