Java 安卓:应用程序运行缓慢;它已从旧的adt包迁移到最新的android studio
一年来,我一直没有参与安卓系统的开发。早些时候,我曾使用adt包eclipse开发应用程序。最近我开始与安卓工作室合作。 我已经通过在android studio项目中创建新文件和复制代码迁移了我的应用程序代码,还对清单和新引入的build.gradle文件进行了一些更改Java 安卓:应用程序运行缓慢;它已从旧的adt包迁移到最新的android studio,java,android,eclipse,android-studio,adt,Java,Android,Eclipse,Android Studio,Adt,一年来,我一直没有参与安卓系统的开发。早些时候,我曾使用adt包eclipse开发应用程序。最近我开始与安卓工作室合作。 我已经通过在android studio项目中创建新文件和复制代码迁移了我的应用程序代码,还对清单和新引入的build.gradle文件进行了一些更改 首先我犯了一个错误, java.lang.OutOfMemoryError 所以我在清单文件中添加了以下内容, android:largeHeap=“true” dependencies { compile file
首先我犯了一个错误, java.lang.OutOfMemoryError 所以我在清单文件中添加了以下内容, android:largeHeap=“true”
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.google.android.gms:play-services-ads:8.3.0'
}
这个问题就解决了
后来我从活动类中删除了继承的类ActionBarActivity,并继承了AppCompatActivity
也在bundle.gradle中添加了以下内容
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.google.android.gms:play-services-ads:8.3.0'
}
现在我发现了以下错误
I/Choreographer: Skipped 158 frames! The application may be doing too much work on its main thread.
E/SpannableStringBuilder: SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
问题是否是由于以下使用findViewByID
(EditText) findViewById(R.id.editText1);
(EditText) findViewById(R.id.editText2);
(EditText) findViewById(R.id.editText3);
(Spinner) findViewById(R.id.spinner1);
(EditText) findViewById(R.id.editText4);
主要问题是,应用程序运行非常慢 不确定您是否遇到与我相同的问题。我的原因是我的应用程序在AndroidManifest中有一个配置,上面写着android:hardwareAccelerated=“false” 这不会在旧的UI中造成任何滞后问题,但我认为,可能在新的材质设计UI效果中引入了一些滞后,除非我们使用硬件加速
尝试删除android:hardwareAccelerated=“false”或将其设置为true,以查看它在响应您的触摸时是否仍然滞后。它解决了我的问题。不确定您是否遇到了与我相同的问题。我的原因是我的应用程序在AndroidManifest中有一个配置,上面写着android:hardwareAccelerated=“false” 这不会在旧的UI中造成任何滞后问题,但我认为,可能在新的材质设计UI效果中引入了一些滞后,除非我们使用硬件加速
尝试删除android:hardwareAccelerated=“false”或将其设置为true,以查看它在响应您的触摸时是否仍然滞后。它解决了我的问题。我们需要更多关于“慢行”的详细信息,具体情况是什么。构建时间?启动时间?什么时候点什么?一旦你知道这一点,添加一些日志并返回美国应用程序运行非常慢,这意味着旧版本的触摸实时响应,而当前版本的触摸响应滞后。你的应用程序必须正在“做一些事情”,必须有一些代码在某个地方运行,使其速度减慢。我们无法用您刚才提供的回答这个问题。您的应用程序正在进行非常密集的工作。可能是在一个循环中,它正在使用
SpannableStringBuilder
进行操作。如果您想做密集型工作,可以在后台使用线程和处理程序来完成。@Blundell感谢您的关注。如果代码正在运行,那么为什么一个构建在旧SDK上的应用程序运行效率很高,而一个构建在新SDK上的应用程序运行速度很慢,而且两者都是同一段代码。我们需要更多关于“运行速度慢”的详细信息确切的场景是什么。构建时间?启动时间?什么时候点什么?一旦你知道这一点,添加一些日志并返回美国应用程序运行非常慢,这意味着旧版本的触摸实时响应,而当前版本的触摸响应滞后。你的应用程序必须正在“做一些事情”,必须有一些代码在某个地方运行,使其速度减慢。我们无法用您刚才提供的回答这个问题。您的应用程序正在进行非常密集的工作。可能是在一个循环中,它正在使用SpannableStringBuilder
进行操作。如果您想做密集型工作,可以在后台使用线程和处理程序来完成。@Blundell感谢您的关注。如果代码正在做一些事情,那么为什么一个构建在旧SDK上的应用程序运行效率很高,而一个构建在新SDK上的应用程序运行速度很慢,而且两者都是相同的代码。同样,android:hardwareAccelerated=“false”减慢了我的应用程序同样,android:hardwareAccelerated=“false”减慢了我的应用程序