ionic4-Subscribe manage(订阅管理)
node 10.15.0
ionic 4.12.0
cordova 9.0
# platforms
cordova-android:8.0.0
cordova-ios: 5.0.0
欢迎访问我的专栏:
ionic4 混合开发实战-csdn
ionic4 混合开发实战-简书
为什么要管理订阅?
问题一:Memory leak
场景:
页面操作顺序:TestPage -> Test2Page ->(返回到) TestPage
Test2Page中模拟接口请求,发射数据并订阅
Chrome Memory 实验结果如下:
in TestPage
in Test2Page
back TestPage
此时Test2Page仍在内存中。
解决:在OnDestory()取消订阅
export class Test2Page implements OnInit, OnDestroy {
subs: Subscription;
msgData = 'xxxxx2';
constructor() {
}
ngOnInit() {
this.subs = this.makeData()
.pipe(delay(5000))
.subscribe(
data => {
console.log('makeData2 -> data = ' + data[0].name);
this.msgData