这几天用csdn的手机版,觉得用户体验不错,和我们的产品类似,也是采用webview来加载的页面,区别是它他每加载一个页面,都会启用一个新的webview来加载。
我们安卓平台只有一个webview,进入链接后返回,原来的页面还需要重新加载,因此不能回到原来进入新闻的地方。ios没有这个问题,因为ios的wkwebview自带页面缓存功能,返回刚才访问的页面,不需要重新加载。这个问题安卓平台的crosswalk貌似单webview解决不了,只好采用多页面,用户每次打开新的页面,打开一个webview来加载网页解决。
重载了主页面webview1的控制逻辑,判断如果是首页或是登陆页面用webview1打开。否则采用webview2打开,webview2的控制逻辑改为如果加载的不是当前页面的url的话,用一个新的webview2加载。上机跑了一下。发现从首页进入第二个页面没有问题,但是从第二个页面进入第三个页面就不行了,程序直接退出。反编译了csdn的源代码,发现他有好多个activity,没有细研究为什么他可以接受用户无限多的访问,每次访问都启动一个新的activity。考虑我们不可能写那么多activity来支撑用户无限多的访问。我们只是首页要求返回后回到刚才访问过的地方,其他页面没有那么大的要求,因此就按照两个webview实现了一个版本,首页一个,其他页公用一个。
晚上回家突然想到,在二级页面activity2不可以启动一个和自己同样class的activity,我可以再
我们安卓平台只有一个webview,进入链接后返回,原来的页面还需要重新加载,因此不能回到原来进入新闻的地方。ios没有这个问题,因为ios的wkwebview自带页面缓存功能,返回刚才访问的页面,不需要重新加载。这个问题安卓平台的crosswalk貌似单webview解决不了,只好采用多页面,用户每次打开新的页面,打开一个webview来加载网页解决。
重载了主页面webview1的控制逻辑,判断如果是首页或是登陆页面用webview1打开。否则采用webview2打开,webview2的控制逻辑改为如果加载的不是当前页面的url的话,用一个新的webview2加载。上机跑了一下。发现从首页进入第二个页面没有问题,但是从第二个页面进入第三个页面就不行了,程序直接退出。反编译了csdn的源代码,发现他有好多个activity,没有细研究为什么他可以接受用户无限多的访问,每次访问都启动一个新的activity。考虑我们不可能写那么多activity来支撑用户无限多的访问。我们只是首页要求返回后回到刚才访问过的地方,其他页面没有那么大的要求,因此就按照两个webview实现了一个版本,首页一个,其他页公用一个。
晚上回家突然想到,在二级页面activity2不可以启动一个和自己同样class的activity,我可以再