我们正在使用以下技术:
研究后发现了这篇文章:http://www.aaronheise.com/2012/12/monotouch-sqlite-sigsegv/,他使用的是Mono.Data.SqliteClient,而不是我们使用的sqlite.net。
他的解决方案涉及显式处置命令对象,以确保GC可以跟上等等。当我尝试将我的Command对象(来自sqlite.net)包装在using(){}子句中时,我发现它们不能被处理。
我已经尝试插入100毫秒的延迟,这可以防止崩溃,但对我们来说不是可行的解决方案。
在这里,sqlite.net有希望吗?还是我应该寻找其他使用sqlite的方法?
- Xamarin 3 (Xamarin Forms)
- MonoTouch
- sqlite.net
- iOS模拟器/硬件
研究后发现了这篇文章:http://www.aaronheise.com/2012/12/monotouch-sqlite-sigsegv/,他使用的是Mono.Data.SqliteClient,而不是我们使用的sqlite.net。
他的解决方案涉及显式处置命令对象,以确保GC可以跟上等等。当我尝试将我的Command对象(来自sqlite.net)包装在using(){}子句中时,我发现它们不能被处理。
我已经尝试插入100毫秒的延迟,这可以防止崩溃,但对我们来说不是可行的解决方案。
在这里,sqlite.net有希望吗?还是我应该寻找其他使用sqlite的方法?
mono-rt: Stacktrace:
mono-rt: at <unknown> <0xffffffff>
mono-rt: at (wrapper managed-to-native) SQLite.SQLite3.Prepare2 (intptr,string,int,intptr&,intptr) <IL 0x0003c, 0xffffffff>
...
mono-rt:
Native stacktrace:
mono-rt:
Got a SIGSEGV while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries
used by your application.