Android app离线模式,需不需要冻结UI?

发布于 2022-09-02 20:41:42 字数 202 浏览 8 评论 0

大家好,最近在开发公司app 的离线下载数据功能。就像:网易新闻,腾讯新闻中的离线模式一样。

功能上都实现了。想请教一下资深的安卓开发工程师,在下载离线数据的时候,需不需要冻结UI(在下载完成之前不让用户使用app的其他功能)?因为测试后,发现不冻结UI,程序也能正常使用,只是慢了点(应该是排队读写数据引起的)。但是上面提到的二个app都冻结了UI ,是有其他的原因吗?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

深府石板幽径 2022-09-09 20:41:42

所谓的冻结UI,我看题主的意思就是去禁止在数据加载前做任何操作,离线的话数据加载在本地,分页加载的话,数据加载速度应该很快,但是肯定是异步去做加载比较好,对于整个界面,如果有需要到数据加载后才能操作的元素,那么就禁止,其他可用的元素控件可以不选择禁止,当然一般诸如题主所言,其实大抵都是数据加载完成后才允许的,首先这样做可以避免逐一去确认哪些是数据加载完成后才能进行的操作,哪些不是,会比较繁琐。统一禁止会省很多事情,而且加载比较快也不会说怎么影响体验。

当然如果数据加载很慢,首先做的并不是不冻结UI,如果数据在10s内都无法加载完成(离线)其实考虑的应该是设计是否有问题,数据是不是加载太多,或者本地保存的数据过多等等。我这边做过本地数据库的应用基本也是锁定界面的,因为需要展示的数据在一屏幕内不需要1s就能加载完成,不需要对各个元素去做控制。

独﹏钓一江月 2022-09-09 20:41:42

你所说的冻结ui是什么?我用网易新闻下载离线新闻时并不影响我使用其他功能啊!离线下载本来就要在后台异步进行,终究要启动线程来实现,不干扰其它活动。

蓝眼泪 2022-09-09 20:41:42

现在软件都是用户体验放第一位了,肯定不能冻结UI啊,你要下载数据可以后台异步下载。应该对用户操作没有影响的。你说的排队读写数据是不是并发没有做好导致堵塞了?

孤云独去闲 2022-09-09 20:41:42

如果并发觉得慢的话,修改线程的优先级。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文