草庐IT

OPTIMIZATION

全部标签

安卓png优化

我有一个使用大量.png文件的应用程序,因此为了减小应用程序大小,我使用PngOptimizer来优化它们。我对结果很满意,png的文件大小从1mb多一点到300kb左右。但出于某种原因,应用程序大小只下降了大约100kb。没有人知道为什么?我真的很希望我在png文件中看到的文件大小减小可以延续到我的应用程序大小。请帮忙 最佳答案 您的.APK应用程序文件已经使用deflate算法进行了压缩。这与PNG文件使用的算法相同。因此,您使用PngOptimizer完成的优化已经在一定程度上由.APK打包程序完成。如果您想减小应用程序的大小

Android ScrollView 与 ListView

我面临着一个View的实现,我必须在列表中加载大约100个项目。我怀疑哪种可能是实现它的最佳方式。我已经知道ListView回收View,ScrollView将所有内容保存在内存中。关键是我在考虑将分页应用到Scrollview以避免应用程序膨胀所有项目时的大量加载时间。Google+、Facebook、twitter或Linkedin等应用程序,您认为他们使用ListView吗?谢谢 最佳答案 ListView绝对是最佳选择。它比ScrollView更容易使用,并且分页系统不符合android的风格。ListView旨在根据一组信

android - APK 不会安装 : DalvikVM cannot optimize it (Byte swap and verify fails)

当我尝试在以下条件下安装我的Android应用程序时,出现INSTALL_FAILED_DEXOPT错误(这似乎与此处询问的有关INSTALL_FAILED_DEXOPT的其他问题没有任何关系):首先,使用Eclipse和Android插件将应用程序安装到新创建的2.3.3模拟器。如上所述,在使用Eclipse的现有2.3.3和2.2模拟器上安装了较新版本的应用程序。我什至尝试过在启动模拟器时点击“删除用户数据”复选框。在运行CyanogenMod7.1nightly(2.3.5)的HTCG2上安装了较新版本的应用程序。使用“adb-duninstallcom.jackcholt.re

java - 从文件中读取 long[] 的最快方法?

我有一个包含大约200,000个long值的文件,我想尽快将其读入long[]。它适用于Android应用程序;函数调用很慢(所以任何涉及使用“for”循环一次读取很长时间的东西都会非常慢)而且我需要加载速度很快。我能用什么?我看到的一切似乎都只能快速读取字节。我以前使用过NIO包中的ByteBuffer和FileChannel,这似乎是一种从文件中加载值数组的非常快速的方法。但是,我不知道如何使用它来将数据读入long[]。我试过将long[]包装为LongBuffer,但我看不出有任何方法可以将文件中的数据馈送到LongBuffer。编辑:无论我使用什么方法,我都需要能够在末尾的l

java - 具有无限滚动优化的 GridView

我创建了一个简单的应用程序,它从Pixabay获取图像,然后将它们显示在具有无限滚动功能的GridView中。我的OnScrollListener:publicclassBasicOnScrollListenerimplementsAbsListView.OnScrollListener{privateIOnScrollonScroll;publicBasicOnScrollListener(IOnScrollaction){this.onScroll=action;}@OverridepublicvoidonScrollStateChanged(AbsListViewview,int

android - Android 上的 OpenGL 与 iOS : optimisations, 以及它们的不同之处

我正在编写适用于Android和iPhone的OpenGLES1.1应用程序。OpenGLES引擎位于共享库中,可通过Android上的NDK访问。我希望优化我的OpenGL性能。那里有很多视频和资源,例如:http://www.vizworld.com/2010/02/ngmocos-tim-omernick-optimizing-opengl-iphone/http://developer.apple.com/library/ios/#documentation/3DDrawing/Conceptual/OpenGLES_ProgrammingGuide/Performance/P

android - Proguard 优化设置 : Enabling class merging, casts and field/* in modern API and Proguard versions

很长一段时间以来,我一直在混淆我的应用程序,我把以下设置当作咒语,因为它们是Google的推荐-optimizations!code/simplification/arithmetic,!code/simplification/cast,!field/*,!class/merging/*但是,前几天我错误地评论了这一行,应用程序构建正确,并且“显然”有效。我做了很多测试,没能让它崩溃。所以我想知道是否需要那些禁用的优化设置......截至今天的AndroidSDK和最新的Proguard版本,我只针对Android4.0.3及更高版本(15)的设备,并使用Proguard5.1。对于那

android - Android 中的 Activity 太多?

当我开始我的Android项目时,我有一个误解,认为应用程序中显示的每个屏幕都必须是一个新Activity。现在我完成了这个项目,我已经在我的模拟器和几部安卓手机上检查过它。到目前为止,我没有发现任何问题,但最近我在某处读到,应用程序中的Activity太多是一个非常糟糕的主意。目前我的应用程序有大约15-20个Activity。我听说理想情况下应该在5-6左右。我是否需要重新构建我的代码,或者在它完成后完成每个Activity就足够了? 最佳答案 在创建复杂的应用程序时,您肯定需要创建许多Activity。所以这取决于你的应用程序

c++ - 动态分配的数组或 std::vector

我正在尝试优化我的C++代码。我在互联网上搜索了使用动态分配的C++数组与使用std::vector的对比,并且通常看到了支持std::vector的建议,并且两者之间的性能差异可以忽略不计。例如这里-Usingarraysorstd::vectorsinC++,what'stheperformancegap?.然而,我写了一些代码来测试遍历数组/vector并为元素赋值的性能,我通常发现使用动态分配的数组比使用vector快近3倍(我确实为事先vector)。我用的是g++-4.3.2。但是我觉得我的测试可能忽略了我不知道的问题,所以我将不胜感激任何关于这个问题的建议。谢谢使用的代码

c++ - 如何权衡精度和速度以评估 C++ 中两个 vector 的点积符号? (不是硬件特定的)

假设我有两个浮点A和Bvector。我需要找到A和B的点积,即。sign(A.B)-如果它是正数或负数或0。vector的大小很小,小于100。但是,我需要非常快地执行此操作!你可以假设A中的所有元素都是[0,1]范围内的float,而B中的所有元素都是[-500,+500]。我一直在寻找精确的解决方案,但如果实际上没有给出很多错误的答案,近似的解决方案也会这样做(我知道,“很多”是主观的,但我不能在不谈论硬件或实现的情况下给出确切的数字)我探索了使用-O4运行最快的Pragma编译器指令。我在实现中探索了一些更多的改进,以使其基于底层处理器的自动矢量化支持而可并行化。和avx指令集一