gpt4 book ai didi

安卓数据绑定(bind) : @Binable vs Observablefield performance

转载 作者:行者123 更新时间:2023-11-29 23:13:14 24 4
gpt4 key购买 nike

哪个性能更好?

@Bindable 使用:notifyPropertyChanged(fieldName) 其中Observablefield 在 set 方法中使用 notifyChange() 来通知文件中的所有内容。

private class User extends BaseObservable {
private String firstName;
private String lastName;
@Bindable
public String getFirstName() {
return this.firstName;
}
@Bindable
public String getLastName() {
return this.lastName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
notifyPropertyChanged(BR.firstName);
}
public void setLastName(String lastName) {
this.lastName = lastName;
notifyPropertyChanged(BR.lastName);
}
}

对比

private class User {
public final ObservableField<String> firstName =
new ObservableField<>();
public final ObservableField<String> lastName =
new ObservableField<>();

public void setFirstName(String firstName) {
firstName.set(firstName)
}
public void setLastName(String lastName) {
lastName.set(lastName)
}

}

最佳答案

没关系,它们都是高效的。

我的印象是,当我们调用 Observablefield .set(newValue) 方法时,它会触发 notifyChange() 更新 User 的所有字段> 类,但这是不正确的。它仅更新该字段,因为 notifyChange() 属于该 Observablefield 对象,而不是 User 对象。

关于安卓数据绑定(bind) : @Binable vs Observablefield performance,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55738054/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com