navigation
导航事件的类型
const unsigned short TYPE_NAVIGATE = 0;
const unsigned short TYPE_RELOAD = 1;
const unsigned short TYPE_BACK_FORWARD = 2;
查看当前执行了什么导航动作
window.performance.navigation.type
使用 js 模拟上述操作
window.history.back()
window.history.forward()
window.location.reload()
window.location.href=“https://www.baidu.com/"
使用 js 修改 webview 页面
def test_navigation(self):
self._driver.find_element(By.XPATH, "//*[@text='交易']").click()
webview = self._driver.contexts[-1]
self._driver.switch_to.context(webview)
type = self._driver.execute_script("return window.performance.navigation.type")
print("before : ", type)
self._driver.execute_script("window.location.href='https://www.baidu.com/'")
self._driver.execute_script("window.location.reload()")
type = self._driver.execute_script("return window.performance.navigation.type")
print("after : ", type)
雪球 webview
下载到本地
adb pull ///data/user/0/com.xueqiu.android/files/h5/modules_new/xueqiu.com ~/Desktop/xueqiu.com
adb logcat | grep http
唤醒锁
避免使用唤醒锁
后台处理指南 | Android 开发者 | Android Developers
唤醒锁改进
使用前台服务
Services overview | Android Developers
确保锁的获取和释放简单
amdahl定律
- S:加速比
- a:系统某部分所需时间与总时间的比例
- k:性能提升比例