收藏
回答

同一个页面出现2个实例,对象引用不同,但是方法引用相同???

问题模块
API和组件
公司名称教评网

MP帐号(邮箱)

894530465@qq.com

开发者微信号

genie2048

机型(如iPhone 6s plus)


操作系统(如iOS 9.3)


是否必现

出现时间

2017-11-15

操作路径(即如何操作可以复现该问题)

操作如下:

  1. 在首页(一个tab分页)登录后,打开另一个tab分页(此时,首页进入onHide)

  2. 然后使用relaunch()跳转到一个页面A中。(此时,发现首页没有被卸载)

  3. 从这个页面A中,再次调用relaunch()返回首页。(此时,又产生了一个新的首页实例)

问题描述(具体问题介绍)

更新了基础库1.6.4,结果出现了莫名的问题。

首先,在使用relaunch()方法后,第一个tab页对应的页面实例没有卸载(同时也是首页)


其次,当再次使用relaunch()方法返回第一个tab页时,产生了新的页面实例。

非常诡异的是,在1.6.4基础库下。2个新老实例的引用虽然不同,但是方法的引用却相同!

同样的操作,在1.6.0基础库下,2个新老实例的引用不同,方法应用也不同。

问题截图(客户端问题界面截图)

对比了2个首页的实例,发现基础库1.6.4的表现和之前的基础库不同,例如基础库1.6.0


我使用了一个单例,记录了每个首页的对象,然后进行比较,问题现象如下:

在基础库1.6.4中:

代码片段截图


我使用了一个单例,记录了每个首页的对象,然后进行比较,代码是这样的,在同一个页面的onload方法中:





最后一次编辑于  2017-11-15  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

3 个回答

  • 林超
    林超
    2017-11-15

    这里是在开发工具上选择不同的基础库来测试的么?



    还是不同的设备上的

    2017-11-15
    赞同
    回复
  • 晨光熹微
    晨光熹微
    2017-11-16

    @林超

    是在开发者工具上发现的。之后又使用一台ip4s的测试机发现也有问题,系统是Ios9.3.5

    2017-11-16
    赞同
    回复
  • 晨光熹微
    晨光熹微
    2017-11-16

    更正一下,经过提示。发现使用了自定义组件之后,这个问题会出现。

    当页面的json文件中使用了usingComponents之后,就会出现这个问题:对象的实例不同,但是各自的方法引用却相同。

    2017-11-16
    赞同
    回复