加快应用程序速度的提示

时间:2018-10-25 09:56:49

标签: java android xml performance

我已经完成了一个应用程序,但是它在整个活动中的运行有点慢,因为它大部分涉及从firebase提取数据。我检查了Google的PerformanceTips,并找到了一些使其更快的方法。我有一些疑问

声明变量Global是否会影响速度?我知道最好在类中声明它,除非确实需要它,否则不要使用Global,但这会影响速度吗?它会占用更多空间吗?

私有或公共方法会影响速度吗?如果这样做更好?

onCreate中的所有方法都会影响速度吗?如果我从onStart调用它,它会使其更快吗?

我有很多方法,我在onCreate中调用了所有方法。最好直接在onCreate中编写代码或将它们作为方法分组并改为调用它们?

正如我提到的,其中大多数涉及Firebase,因此以下哪种类型的代码更好,更快

String UID = FirebaseAuth.getInstance().getCurrentUser().getUID();

FirebaseAuth mAuth;
FirebaseUser currentUser;
String UID;

mAuth = FirebaseAuth.getInstance();
currentUser = mAuth.getCurrentUser();
UID = currentUser.getUID();

我也使用

setPersistenceEnabled(true);

keepSynced(true);

但是仍然很慢。因此,任何使它更快的技巧都值得赞赏。

2 个答案:

答案 0 :(得分:1)

您需要做的是配置您的应用程序,以了解性能问题到底是什么。没有两个应用程序相等。例如:在onCreate上调用多个方法可能没有影响,或者会使您的应用变慢,这取决于您对方法所做的操作

我对您的建议是查看Google免费课程:https://eu.udacity.com/course/android-performance--ud825

编辑

还要检查YouTube上的性能模式系列:https://www.youtube.com/watch?v=qk5F6Bxqhr4&list=PLWz5rJ2EKKc9CBxr3BVjPTPoDPLdPIFCE

一些性能主题将对您的应用程序的性能产生重大影响:

  1. 内存泄漏
  2. 透支
  3. 查看层次结构
  4. 内存分配

希望它对您有帮助。

答案 1 :(得分:0)

  

我已经完成了一个应用程序,但是在进行活动时有点慢   因为其中大部分涉及从Firebase提取数据。

让我给你一个有根据的猜测,如果您的实际问题一直在与数据库对话,那么全局变量,私有或公共修饰符等并不会真正改变太多(或任何东西)。您确定这是使您变慢的部分,因此这是您应该优化的部分。