c语言编程笔录

首页 >   > 笔记大全

笔记大全

uniapp运行比较慢是什么原因

更新时间:2023-10-23

慢的原因一:图片过大

当我们的uniapp页面中存在大量的图片时,经常会导致页面加载缓慢,时间延长,使得用户的体验不佳。所以我们需要注意压缩我们的图片,减少图片的大小。

图片压缩工具:

	https://tinypng.com/
	

慢的原因二:过多异步请求

在uniapp页面中,我们通常会向后端发送请求,包括获取数据和获取图片等等。因此,我们需要在请求数据时优化代码,减少不必要的请求和重复请求。

一种解决方法是使用uni的请求缓存。我们可以在main.js文件中配置拦截器来使用uni的请求缓存:

	Vue.prototype.$http.interceptors.response.use(response=> {
	  uni.hideLoading()
	  if (response.data.code==-2) {
	    uni.showToast({
	      title: '登录已过期!',
	      icon: 'none'
	    })
	    setTimeout(()=> {
	      uni.navigateTo({
	        url: '/pages/login/login'
	      })
	    }, 2000)
	  }
	  let currentTime=Math.floor(new Date().getTime() / 1000)
	  let requestTime=Math.floor(new Date(response.config.timeStamp).getTime() / 1000)
	  if(response.data.code==0) {
	    if (currentTime - requestTime > 3600) {
	      clearToken()
	    } else {
	      uni.setStorageSync(setTokenKey(), response.data.token)
	      uni.setStorageSync(setUserKey(), response.data.user)
	    }
	  }
	  return response
	}, err=> {
	  uni.hideLoading()
	  return Promise.reject(err)
	})
	

慢的原因三:页面渲染过慢

当我们的页面结构较为复杂时,页面渲染时间会很长,影响用户体验。这时候我们可以使用uni的v-if控制元素的渲染,在需要时再加载元素,使用uni的组件化来拆解我们的页面。这能大大减少页面渲染时间,提高页面的性能。

我们以分页请求数据为例,使用uni的v-if控制我们的数据渲染:

	

	
	

慢的原因四:不规范的代码

在开发人员不规范的代码,如未使用合适的命名,未使用合适的缩进,代码中存在死循环等等。这些问题都会导致代码效率低下,影响页面的性能。所以我们需要注意代码的规范化,保证代码的质量。

以下是一个不规范的代码示例:

	function test(){
	    for(i=0;i<10;i++);
	    {
	        alert(i);
	    }
	}
	test();
	

总结

uniapp运行比较慢的主要原因是图片过大、过多异步请求、页面渲染过慢、不规范的代码。我们可以通过压缩图片、减少异步请求、使用vue的mixin实现页面的懒加载、写出代码规范化来优化我们的uniapp。