我正在从上一个 Activity 开始该 Activity ,但在开始之前,它会卡住几秒钟,有时甚至更多!
我尝试禁用一些我怀疑的功能并清理代码甚至优化其中的部分内容,但这些都不起作用!
我不知道我应该在这里分享代码的哪一部分,因为我无法确定这个问题的原因,但如果您需要查看它,我将包含它。
这就是我使用按钮启动其他 Activity 的方式:
public void startCount (View v){ Intent intent = new Intent(MainActivity.this, CounterActivity.class); startActivity(intent); }
抱歉,我在此处共享代码时遇到问题 x_x SecondActivity.java:
https://pastebin.com/SmiJ0Qiv
第二个 Activity 布局:
https://pastebin.com/1Ef27edW
这是我的日志文件: https://www.pastiebin.com/5d5e7cf1c8e4d
我怀疑原因是这样的:
GooglePlayServicesUtil: Google Play services out of date. Requires 12451000 but found 10298470
如果您能指出导致卡住的问题,我们将不胜感激!谢谢。
最佳答案
在许多情况下,您必须考虑java
最佳实践以及使用一些设计模式
。
在这里,我将向您列出一些您应该考虑的基本模式
和实践
。
你绝对可以自己查一下,但我会在这里提到一些事情
最佳实践
- 在连接
String
时使用StringBilder
- 避免使用正则表达式
- 使用原语和堆栈
设计模式
设计模式是用于解决特定问题/任务的经过充分验证的解决方案。
以下是最常见的:
- 单例模式
- 原型(prototype)模式
- 工厂模式
Here是了解更多信息的链接
注意:这不一定能解决您的问题,但可能会提高性能。
关于java - 启动 Activity 时,应用程序可能在其主线程上做了太多工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57608591/