Junior — Middle
Daggerде көзкарандылык чөйрөсүн кантип аныктоо жана ал эмне үчүн керек?
sobes.tech AI
AIден жооп
Daggerде Scope (Аянт) түзүлгөн көзкарандылыктардын жашоо циклин жана уникалдуулугун аныктайт. Бул объекттердин жашоо мөөнөтүн башкаруу жана керексиз жаңы нускаларды түзүүнү алдын алуу үчүн зарыл.
Мисалы, эгер компонент жана көзкарандылык камсыздоочу бир эле аянт менен белгиленсе, Dagger бул көзкарандылыкка бир гана нуска түзөт, ал компоненттин жашоо цикли бойдон.
Аянт жардам берет:
- Объекттерди бир эле аянтта (мисалы, сессия же экран) кайра колдонуу.
- Көзкарандылыктарды түзүү жана жок кылууну көзөмөлдөө.
- Эстутум чыгашаларын жана ресурстарды ашыкча колдонуу алдын алуу.
Аянтты аныктоо мисалы:
@Scope
@Retention(RetentionPolicy.RUNTIME)
public @interface ActivityScope {}
@ActivityScope
@Component(modules = MyModule.class)
public interface MyComponent {
// көзкарандылыктар
}
Бул жерде, ActivityScope бул анотация менен белгиленген бардык көзкарандылыктар компоненттин жашоо цикли учурунда бир гана жолу түзүлөт.