Closed. This question is opinion-based。它当前不接受答案。
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            想改善这个问题吗?更新问题,以便editing this post用事实和引用来回答。
                        
                        6年前关闭。
                                                                                            
                
        
我试图理解为什么有人要在Android编程中使用NDK功能?学习Android的C ++真的很重要吗?

最佳答案

三个(也许是第四个)主要原因是:


性能。对于某些关键的内部循环,C / C ++相对于Java的边际性能优势,尤其是在Android编译器中提供即时编译(JIT)之前,可能是决定性因素。
使用现有的C / C ++库。这里的理由很明显。
要执行NDK允许Java API无法管理的操作。只有通过C / C ++才可能在硬件附近进行低级操作,尤其是对于制造商特定的硬件而言
正如Yojimbo所建议的那样,令人迷惑。逆向工程编译的机器代码比Java字节代码要难一些,尽管您永远不要指望安全性。


说了这么多,您应该确定要使用NDK,然后再决定使用它。 NDK代码的测试和维护成本可能会高于同等的Java。

关于android - Android NDK有什么实际用途? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17979329/

10-12 02:49
查看更多