启动太多时间和高缓存存储android

时间:2017-06-29 20:40:14

标签: android caching startup

我正在开发Android应用程序,我刚刚意识到第一次启动应用程序需要花费太多时间,这似乎是因为它在缓存中存储了大量信息(接近16 Mb)

事情是,我没有使用图像,它不是一个如此复杂的应用程序。可能是什么问题?

- 首次启动应用时,打开需要20秒。 (并将缓存设置为16 Mb)

- 之后需要4秒才能打开(仍然很多)

- 如果我清除缓存,再次打开应用程序,则需要再打开20秒(然后缓存再次为16 Mb)

主要活动只是一个带有2个按钮的布局。

编辑:这是主要活动的代码。

    package pablopicazo.consejoswifi.activities;

import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.ImageView;

import pablopicazo.consejoswifi.R;
import pablopicazo.consejoswifi.activities.test.TestDescription;
import pablopicazo.consejoswifi.activities.test.TestResults;
import pablopicazo.consejoswifi.activities.tools.Tools;

public class Main extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);


        //Declare layout elements
        ImageView testwifiButon = (ImageView) findViewById(R.id.button_testwifi);
        ImageView toolsButton = (ImageView) findViewById(R.id.button_tools);


        //Buttons listeners
        testwifiButon.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {

                //If there's a test made previously, show the results. Otherwise, starts new test
                SharedPreferences sharedPref = getSharedPreferences("testAnswers", Context.MODE_PRIVATE);
                if (sharedPref.getString("testResults", "").equals("")) {
                    Intent intent = new Intent(Main.this, TestDescription.class);
                    startActivity(intent);
                } else {
                    Intent intent = new Intent(Main.this, TestResults.class);
                    startActivity(intent);
                }
            }
        });

        toolsButton.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                Intent intent = new Intent(Main.this, Tools.class);
                startActivity(intent);
            }
        });

    }
}

这是高速缓存文件,可以达到13MB的CACHE大小 See cache files

1 个答案:

答案 0 :(得分:0)

  • 启动后启动任务。
  • 您的代码看起来正在将缓存加载到主线程中。
  • 部分加载,因此应用程序无法获得frezze。