扫码关注官方订阅号
安卓在主线程操作数据库,会在执行动画的时候出现卡顿,所以想异步操作数据库,有什么线程问题吗?
人生最曼妙的风景,竟是内心的淡定与从容!
老生常谈的原子锁问题。。我不太清楚安卓带的这个sqlite会不会自带锁,或者是直接抛出异常。你可以实现一个数据操作队列,或者自己实现锁的机制,就可以了。
多线程操作数据库没有问题,一般本地数据库数据较多的时候也是推荐在子线程中运行的,以免卡顿界面。当然诸如上面的回答,多线程操作数据库时如果同时处理同一张表的话会抛出异常,不会进行锁定的,需要自行实现锁的机制。另外题主如果在数据量不太多就出现了卡顿的现象的话建议优化数据库工具,或者使用一些类似GreenDAO之类工具提高运行效率。
可以这么实现的,如果你的程序中使用了网络接口,那可以把数据库也看成一种缓慢数据交换的方式。具体的操作和界面的展示,都可以仿照网络请求来。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
老生常谈的原子锁问题。。
我不太清楚安卓带的这个sqlite会不会自带锁,或者是直接抛出异常。
你可以实现一个数据操作队列,或者自己实现锁的机制,就可以了。
多线程操作数据库没有问题,一般本地数据库数据较多的时候也是推荐在子线程中运行的,以免卡顿界面。当然诸如上面的回答,多线程操作数据库时如果同时处理同一张表的话会抛出异常,不会进行锁定的,需要自行实现锁的机制。另外题主如果在数据量不太多就出现了卡顿的现象的话建议优化数据库工具,或者使用一些类似GreenDAO之类工具提高运行效率。
可以这么实现的,如果你的程序中使用了网络接口,那可以把数据库也看成一种缓慢数据交换的方式。具体的操作和界面的展示,都可以仿照网络请求来。