如果Android经常杀死应用程序,为啥要使用phonegap相机
Posted
技术标签:
【中文标题】如果Android经常杀死应用程序,为啥要使用phonegap相机【英文标题】:Why use phonegap camera if Android frequently kills app如果Android经常杀死应用程序,为什么要使用phonegap相机 【发布时间】:2013-04-08 12:37:55 【问题描述】:我目前正在开发一个 Phonegap Cordova 2.5 应用程序,该应用程序要求用户拍照并将其上传到我们的服务器。我使用 PhoneGap 是为了避免任何特定于 android 的编码(可能有一天会在 ios 上发布)。
事实证明,Android 经常(但并非总是)在拍照时杀死我的应用程序,并且当相机模块返回照片时,我的基础应用程序会从头开始恢复,并且不会调用任何回调方法。对新拍摄照片的任何引用都会丢失,请在此处查看此帖子:
Taking a picture from the camera fails 20% of the time
一种常见的解决方法似乎是原生 Android 代码。这引出了我的问题:如果我使用的第一个也是唯一一个 Phonegap 模块(相机)需要一些严重的黑客攻击,我为什么要使用 Phongap?我知道这甚至不是Phonegap的“错误”,而是Android生命周期设计,但仍然:我该如何捍卫这种架构选择?是否已经使用 html、CSS 和 JS 将其全部简化为可重用的前端?我应该切换到原生 Android 吗?
【问题讨论】:
【参考方案1】:回答我自己的问题:PhoneGap 在很多方面都很棒,因此有很多论据可以为它辩护。最值得注意的是,整个 UI 只需要编码一次,并且作为 javascript 和 CSS,有许多开发人员不需要学习另一种语言。不要低估“轻松”的价值,如果你需要编写一个相对简单的应用程序,不要费心去原生。 PhoneGap 就可以了。
就我而言,我想要构建的应用程序围绕着拍照。所以我不会在一些罕见的用例中使用相机来增加用户体验,但它是应用程序中最重要的部分。在这种情况下,我想推荐的方法是原生。这就是我最后所做的。
另一种方法是使用名为“前景摄像头”的 PhoneGap 插件。 PROs:集成中的无缝照片拍摄。用户实际上是在您的应用程序内部拍摄照片。 缺点:默认情况下,您会失去相机的所有功能(变焦、前置摄像头、闪光灯等),因此您需要认真编写代码来手动实现其中的一些功能。
【讨论】:
以上是关于如果Android经常杀死应用程序,为啥要使用phonegap相机的主要内容,如果未能解决你的问题,请参考以下文章
为啥我在 Android 中杀死我的应用程序时服务会重新启动?