我需要编写一些cpu密集型Android应用程序。我已经编码的是一个BigInteger阶乘,但它消耗了我手机cpu的大约30-40%。我的手机是六核,cpu使用率约为5%内核和30%用户。这对于cpu密集型应用程序是否足够,或者百分比是否应该高达80-90%?它还消耗了大约120MB的内存,而不是260MB。那很好还是一定很低?
答案 0 :(得分:0)
嗯。这既是一个简单的问题,也是一个棘手的问题。首先,30%-40%不是CPU密集型;实际上,它非常懦弱。我猜测正在发生以下两件事之一:(1)你的应用程序没有运行足够的线程来保持所有核心的高兴和快乐,或者(2)操作系统有一些内置的调控器来阻止任何给定的应用程序拖延打电话,使它几乎没用,并给制造商一个非常糟糕的名字。 (顺便说一下,我不知道开发人员是否实现了(2)。如果我是设计师,我会。)
您的应用是否符合Android规范的Java应用程序?或者你正在靠近金属?