Google Dagger 2 là tất cả về phạm vi đối tượng, ví dụ: khi bạn cần các đối tượng chỉ trong một yêu cầu http, bạn chú thích các phương pháp nhà cung cấp của mình với @RequestScope
.Cách đảm bảo tài nguyên được phát hành bằng cách sử dụng Google Dagger 2
Nhưng một số tài nguyên được cung cấp cần được giải phóng, ví dụ: CloseableHttpClient cần phải là closed hoặc ExecutorService cần phải là shutdown.
Làm cách nào để chỉ định hành động nào cần thực hiện để phát hành một đối tượng khi nó vượt quá phạm vi sử dụng Google Dagger 2?
Nhưng sau đó phạm vi phạm vi là gì? Không phải là phạm vi toàn cầu không ngụ ý rằng phạm vi sẽ kết thúc? Tuy nhiên tôi nhận được một phần về * Dagger là về quản lý phụ thuộc, không phải đối tượng lifetimes * – ooxi
@ooxi Phạm vi là nhóm những thứ mà đi với nhau. Bạn có thể có một '@Singleton AccountManager' nhưng mọi người dùng sẽ nhận được' @PerUser Balance' của riêng họ. Phạm vi giúp đảm bảo rằng các đối tượng có cùng tuổi thọ trong cùng một thành phần và không có gì thay đổi ít thường xuyên phụ thuộc vào chúng, vì người dùng có thể thay đổi thường xuyên hơn một số singleton (không nên thay đổi). –
Cảm ơn vì đã làm rõ! – ooxi