android - 安卓开发时,多线程操作数据库有什么问题吗?
黄舟
黄舟 2017-04-17 15:39:56
[Android讨论组]

安卓在主线程操作数据库,会在执行动画的时候出现卡顿,所以想异步操作数据库,有什么线程问题吗?

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复(3)
阿神

老生常谈的原子锁问题。。
我不太清楚安卓带的这个sqlite会不会自带锁,或者是直接抛出异常。
你可以实现一个数据操作队列,或者自己实现锁的机制,就可以了。

ringa_lee

多线程操作数据库没有问题,一般本地数据库数据较多的时候也是推荐在子线程中运行的,以免卡顿界面。当然诸如上面的回答,多线程操作数据库时如果同时处理同一张表的话会抛出异常,不会进行锁定的,需要自行实现锁的机制。另外题主如果在数据量不太多就出现了卡顿的现象的话建议优化数据库工具,或者使用一些类似GreenDAO之类工具提高运行效率。

PHPz

可以这么实现的,如果你的程序中使用了网络接口,那可以把数据库也看成一种缓慢数据交换的方式。具体的操作和界面的展示,都可以仿照网络请求来。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号