Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
它';为了获得更高的性能,可以在android中从RAM运行apk吗?_Android_Performance_Arm_Sd Card_Ram - Fatal编程技术网

它';为了获得更高的性能,可以在android中从RAM运行apk吗?

它';为了获得更高的性能,可以在android中从RAM运行apk吗?,android,performance,arm,sd-card,ram,Android,Performance,Arm,Sd Card,Ram,我正在为android开发一个apk(java、ionic、angular JS等),运行在开发板(UDOO QUAD)上,但在滚动屏幕时,如果屏幕上显示的是“实时”更新的高质量图像或数据,则会出现性能问题 我怀疑我的问题是我的apk是从SD卡运行的,SD卡是一个速度较慢的设备。所以我必须回答一些主要问题,第一个是关于我个人的知识,第二个是这篇文章的主要问题 1.-当APK启动时,它是如何工作的,是否所有APK都复制到RAM中,计时是什么 2.-我已经在互联网上搜索了一种方法,可以在apk启动时

我正在为android开发一个apk(java、ionic、angular JS等),运行在开发板(UDOO QUAD)上,但在滚动屏幕时,如果屏幕上显示的是“实时”更新的高质量图像或数据,则会出现性能问题

我怀疑我的问题是我的apk是从SD卡运行的,SD卡是一个速度较慢的设备。所以我必须回答一些主要问题,第一个是关于我个人的知识,第二个是这篇文章的主要问题

1.-当APK启动时,它是如何工作的,是否所有APK都复制到RAM中,计时是什么

2.-我已经在互联网上搜索了一种方法,可以在apk启动时将所有数据复制到RAM以提高性能,但我还没有找到一种方法来实现这一点

有人知道怎么做吗

谢谢,
Guillermo

当安装的应用程序实际运行时,它总是已经加载到RAM中。毕竟,这就是RAM的目的

但是,如果您将一些外部数据加载到应用程序中,比如您的案例中的高质量图像,您可能会期望一定的加载时间,但这些事情在编码级别上正在得到完善

关于你的问题:

  • 如前所述,当应用程序进程运行时,其代码已经转换为编译的本机代码,最终在工作内存中运行。如果您想更详细地了解编译过程(机器代码是如何获得的),请尝试开始

  • 不相关,因为1


  • 底线是,从SD卡运行应用程序不应该和你的问题无关,我会在别处寻找解决方案。让操作系统自行管理其资源。

    UDOO QUAD是一款飞思卡尔i.MX 6臂Cortex-A9四核1GHz,足以移动应用程序。也许GPU Vivante GC 2000+Vivante GC 355+Vivante GC 320不是最好的,但对于已经编程的东西来说也不是那么糟糕。这些图像是在android studio下编程时插入的,因此它们位于apk内。Android会将所有APK加载到RAM中,或者根据需要加载APK的部分?它不会一次将APK“包含”的所有内容加载到内存中,只会在需要时按需加载(如资源、片段)。这包括您的图像,如果在APK内。但是,当内存不足或正在进行垃圾回收时,它也会自动清除它们。有没有办法强制某些项保留在RAM中?不是所有的apk,而是这些沉重的图像?保留或预加载是的,您可以通过扩展应用程序类来引用这些资源,并在其中保留静态引用,这将防止在使用中的类时从内存中清除这些资源(对于应用程序类,这意味着只要应用程序正在运行)。