草庐IT

PERFORMANCE

全部标签

java - 调用 Class.isAnnotationPresent(...) 有多昂贵?

我想知道此操作在以下运行时的开销有多大:JVM8达尔维克艺术有关给定类(target=TYPE)的注释的信息在编译时可用,所以我猜它可以以某种方式缓存。但另一方面,我听说Dalvik在注释方面的表现很差。如果我可以在编译时检查和缓存信息(使用一些代码生成插件),我应该这样做,还是会过度优化? 最佳答案 略读sourcecode,它看起来像isAnnotationPresent(...)调用getAnnotation(...),后者调用initAnnotationsIfNecessary()。initAnnotationsIfNece

android - 我在宠爱平台/硬件吗?

我不知道我是在尊重和礼貌地对待用户,还是在以Handlebars机当作瓷娃娃的名义不必要地妨碍我的应用程序的实用性。我在AndroidMarket中有一个成功的应用程序。一个主要功能是它记录用户正在计分的比赛的体育统计数据。当前的详细程度相当基本:每个球员一行,每个基本统计数据一个字段。但是,如果我记录更多信息,我可以显着增加应用程序的详细信息和有用级别,将其扩展到无数关系表和可以想象的成千上万条记录。我的问题是,这是一件负责任的事情吗?到目前为止,我一直回避它,认为“它只是一部手机”和“它只是SQLite”,但我从未真正考虑过这是否是持有的正当理由重新开始做我不会再考虑在网络或桌面应

android - 大量 TextView 会影响性能吗?我应该切换到 ListView 而不是使用 Scrollview 吗?

所以我有一个显示网格(TableView,其中每个TableRow主要是TextView)的屏幕,就像记分卡一样,有8行和11列。我想向其中添加大约10行,并将其保存在ScrollView中。但我想知道我是否应该将整个东西切换到ListView。假设我的网格有一半是“屏幕外”的,那么仅使用ScrollView是否会影响性能(渲染时间、内存使用)?或者我最好去ListView吗?基本上我只是不希望它在第一次显示屏幕时(或在滚动期间)滞后。谢谢。 最佳答案 我会用一个ListView...太舒服了使用ListView,您可以轻松管理选定

安卓开发 : Efficient Syntax Highlighting Tips?

我开发了自己的Android语法高亮库,效果很好,但问题是它会减慢输入速度。我试过使用AsyncTask在后台执行正则表达式,然后应用必要的颜色,但它仍然减慢了输入过程。目前,它读取整个EditText,我想取而代之的是获取文本光标所在的行,获取该行CharSequence然后在该行而不是整个文档上执行正则表达式,但我真的不知道如何我可以获得用户正在处理的行:(。 最佳答案 除非您只进行单行正则表达式/突出显示,否则您建议的策略可能行不通。例如,如果不扫描多行,您可能无法判断自己是否处于多行注释中。:-)如果您还没有这样做,请使用T

android - Activity 太多会影响我的表现吗?

所以,我有近20个Activity,因为我有近20个布局,其中包含重要信息(关于应用程序内容)。好吧,我不得不说在这些Activity中主要是TextViews。是否有类似“Stack”的东西可以放置Activity?如果有堆栈,是否会影响运行应用程序时的性能?我怎样才能看到这个堆栈?应用程序应该有多少Activity是否有规则,还是取决于应用程序的用途?如果您能向我解释Activity是如何举行的,或者在我运行我的应用程序时如何处理这些Activity,那就太好了。因为我不希望这20个Activity影响我的表现。 最佳答案 第一

java - 应用程序或 Activity 有时需要时间来加载

我创建了一个启动Activity,我从那里调用另一个Activity,该Activity有一个View寻呼机并显示一些介绍性页面。这个应用程序加载时间很长,所以我想在Activity加载之前显示一个进度对话框,但该进度对话框也在几秒钟后出现。启动Activity:publicclassStartUpActivityextendsAppCompatActivity{booleanisUserFirstTime,login;publicstaticStringPREF_USER_FIRST_TIME;@OverrideprotectedvoidonCreate(BundlesavedIns

android - 安卓应用优化

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。我想优化我的android应用程序。谁能告诉我在android中优化代码和性能的不同方法有哪些?我使用了一个工具,即Zipalign:anEasyOptimization.还有其他可用的工具吗?谢谢。

android - 支持的最大图像尺寸是多少

因为我在添加图像时有很多这样的(内存不足异常),所以我想知道Bitmap对象支持的最大大小是多少,以及如何有效地管理它们。 最佳答案 位图的最大大小因设备而异,具体取决于可用的堆空间。任何带有GooglePlay的设备所需的堆空间至少为16MB。请记住,您应用的其余部分也在同一堆空间中运行,因此整个堆不可用于单个位图。此外,位图的大小会根据颜色格式和高宽而变化。最好的策略是只加载该屏幕尺寸所需的位图大小到内存中,不要再大了。参见this有关如何处理大型位图的详细信息的文档的一部分。 关于

Android ORMLite 缓慢创建对象

我正在使用ormLite在设备上存储数据。我不明白为什么,但是当我存储大约100个对象时,其中一些存储的时间太长,最多一秒。这是代码来自数据库管理器:publicclassDatabaseManagerpublicvoidaddSomeObject(SomeObjectobject){try{getHelper().getSomeObjectDao().create(object);}catch(SQLExceptione){e.printStackTrace();}}}publicclassDatabaseHelperextendsOrmLiteSqliteOpenHelperpub

android - 从 Sqlite 游标创建 Pojo 类需要太多时间

我的查询执行时间小于3毫秒。但问题是,我正在从查询执行中获得的游标创建一个pojo类对象。此对象创建和字段值设置花费的时间过多,超过140毫秒。Pojo类有大约36个字段。有什么解决这个问题的建议吗?谢谢 最佳答案 我知道c.getColumnIndex()方法需要更多时间。我知道加快速度的最佳方法如下:Cursorc=null;try{c=db.query(......);if(c!=null){intchannelIdIndex=c.getColumnIndex(OptimizedMessage.CHANNEL_ID);intc