我正在看一个需要LCD多点触控屏幕,LCD驱动程序,webkit浏览器,Avahi,Web服务器以及用C ++编写的引擎的嵌入式项目。
Android乍一看看起来它的大多数正确的组件开箱即用,修改最少......但是对于小内存占用嵌入式设备而言,使用JVM似乎是重量级的(128-196MB分钟)除了我们的代码是C ++。看起来你不能把JVM拉出去,因为主要的OS组件是用Java运行的(是吗?)。
Linux似乎有大部分可以放在一起的部分,没有不必要的瑕疵。以下是主要问题:
答案 0 :(得分:3)
您的帖子中存在许多误解。我将首先列举你的问题和答案:
这一切都取决于您选择使用的窗口管理器。我的直觉就是在这一点上接近成熟触摸支持的任何东西都会比android更重或更重。
Android不使用JVM。 Android使用java语言,但使用专为嵌入式设备设计的dalvik虚拟机。共同点在于它们是虚拟机的事实。
您可以使用NDK在C或C ++中编写大部分应用程序,但是,任何以这种方式编写的模块都需要通过使用java / dalvik SDK编写的android来调用。这样,任何性能关键模块(如进行大量计算)都可以是原生的,但gui层不会(虽然通常具有GUI层性能不太可能成为问题)。本机android窗口和UI库是用Java编写的,你必须重做大部分工作才能在NDK中获得可用的UI元素,因为谷歌没有打算使用NDK。
我的建议是使用普通的SDK对应用程序进行原型设计,为任何可以从硬件加速中受益的东西留下存根(保持模块化,使其不会过于相互依赖)
取决于您使用的窗口管理器。无论你选择什么,你都可能需要愚弄,直到找到可行的组合。我所知道的没有一个伟大的集成发行版解决方案(尽管其他人可能)。我对这片土地的印象是,在这方面并没有做太多的事情。
我想要添加的最后一件事是在Dalvik(甚至是JVM)中执行的编写良好的java代码可以接近本机代码的速度运行。如果您知道自己在做什么,并了解什么是引用,那么用于什么目的的集合类型(提示:并非所有内容都是数组),并且不是在整个地方复制对象,Java非常好。
答案 1 :(得分:1)
我不是在谈论经验,而是在http://www.omgubuntu.co.uk/2012/02/kde-spark-tablet-opens-pre-order-registration/看一看https://www.google.com/search?q=ubuntu+touch+interface甚至更容易
所以是的,Linux支持触摸。不知道多点触控,据我所知它(但我有0经验)。
至于滚动和缩放,我想这一切都取决于你在后面使用的内容。真正的问题应该是webkit是否支持平滑滚动和缩放(如果您计划在浏览器中按照我的理解运行应用程序)。