|
大家好呀~ 正文内容为十一月份技术常见问题合集,往期常见问题请查看:帮助中心 一、新手入门 1. 生命周期 1.1.真机调试时webview的缓存怎么清除?有没有API可以清除快应用预览版或者厂商引擎预览版的缓存? 真机调试时,若遇到WebView缓存未更新的问题,可采取手动清除手机设置中的应用缓存:进入手机「设置」→「应用管理」→ 找到「快应用」或「快应用调试器」→ 清除缓存和数据。此操作会清除WebView中加载的页面缓存。 快应用目前没有提供直接清除“快应用预览版”或“厂商引擎”webview缓存的API。但可以尝试在URL添加参数,例如:https://example.com/page?version=1.0.1,每次加载页面内容后更改参数值,避免加载旧缓存页面。 二、开发框架常见问题 2. 生命周期 2.1.onDestroy生命周期函数中调用storage.delete没有生效是为什么? storage.delete是异步方法,调用后不会立即执行完毕。当onDestroy被触发时,页面实例正在销毁,主线程可能在delete回调完成前就终止了,导致操作未及完成。 建议提前清理数据:在页面跳转或退出前,如onHide或用户触发登出时,主动调用storage.delete,避免依赖onDestroy。
三、组件 3. 容器组件 3.1.richtext这个标签放到列表里面,往上滚动的时候会有屏幕闪烁和列表内容位置错乱的问题怎么解决? richtext只支持静态内容,由于需要实时编译,文本内容尽量不要频繁改变,否则可能导致性能问题,建议自定义一个计算属性类似richtext功能 ;示例: <list-item type="richTextItem"> <richtext nodes="{{item.content}}"></richtext> </list-item> .rich-text-item { min-height: 100px; /* 根据内容合理设定 */ } 保证type一致,为包含<richtext>的 list-item 设置最小高度或预设高度,防止因高度变化引发重排。 四、接口 4. 系统能力 4.1.device.getDeviceId和device.getUserId是什么区别呢?哪个可以表示唯一性? 两个都是唯一性的,但维度不一样。device.getDeviceId是获取设备唯一标识,device.getUserId是获取用户唯一标识。需要注意:device.getDeviceId:在Android上返回IMEI或MEID; 在Android Q之后,除了华为手机返回 aaid(应用匿名设备标识符),其他厂商手机如果支持oaid(匿名设备标识符)则返回oaid,否则返回空值。 |