Xamarin 文档对此有点不清楚。如果我在构建首选项中仅勾选 armeabi 来构建我的应用程序,我的应用程序是否会:
- 在 Play 商店中可用于 v7a 设备吗?
- 在 v7a 设备上运行?
如果它确实运行,是否有任何功能,如使用线程会导致意外行为或崩溃?
我有一个简单的应用程序,并试图保持它的小。另外,我没有 v7a 设备来进行快速实验。
澄清:
虽然似乎已明确接受仅使用 amreabi 库编译 Android 应用程序是“安全的,但性能不高”(请参阅这篇出色的帖子:Why use armeabi-v7a code over armeabi code?),Xamarin 文档我假设适用于他们编译的 .so 库的CPU 架构说:
请务必记住,Xamarin.Android 使用的 armeabi 运行时是线程安全的。如果将支持 armeabi 的应用程序部署到 armeabi-v7a 设备上,将会出现许多奇怪且无法解释的异常。
从那以后,我已经能够测试我刚刚在 v7a 设备上使用 armeabi 编译的应用程序,并且还没有遇到任何“奇怪且无法解释的异常”。
更新:
看起来 Xamarin 文档已经更新,现在(2014-07-14)读取:
请务必记住,Xamarin.Android 使用的 armeabi 运行时不是线程安全的。如果将支持 armeabi 的应用程序部署到 armeabi-v7a 设备上,将会出现许多奇怪且无法解释的异常。