加快推出简单的Android活动

时间:2016-02-10 05:44:28

标签: android android-intent android-activity

所以我有一个活动,它在启动时从意图中获取字符串和整数,并根据它从资源图像(约200kb)和AutoResizeTextView上的文本设置背景。 AutoResizeTextView也使用字体。除此之外,还有3个按钮,它们只是通过附加功能启动其他活动。

这是代码 -

import android.content.Intent;
import android.content.pm.ActivityInfo;
import android.graphics.Color;
import android.graphics.Typeface;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.RelativeLayout;
import android.widget.TextView;

import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdView;

public class test extends AppCompatActivity {
    public int wall;
    public String set1;
    public TextView tv;
    public Button b1,b2,b3;
    public Typeface font4;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FULLSCREEN);
        font4 = Typeface.createFromAsset(getAssets(), "fonts/lesserconcernregular.ttf");

        setContentView(R.layout.activity_quoto);
        Bundle appdat=getIntent().getExtras();
        if(appdat!=null){
            try {
                set1 = appdat.getString("exact1");
                wall = appdat.getInt("exact2");
            }
            catch (Exception a){
                set1 ="Error";
                wall =1;
            }
        }
        else{
            set1="No data";
            wall=1;
        }
        final RelativeLayout rlay=(RelativeLayout)findViewById(R.id.rlay);
        tv=(TextView)findViewById(R.id.textoo);
        tv.setText(set1);
        tv.setTypeface(font4);


        AdView mAdView = (AdView) findViewById(R.id.adViews);
        AdRequest adRequest = new AdRequest.Builder().build();
        mAdView.loadAd(adRequest);
        switch (wall){
            case 1:
                rlay.setBackgroundResource(R.drawable.id1);
                break;
            case 2:
                rlay.setBackgroundResource(R.drawable.id2);
                break;
           //So on till 50         
        }
       rlay.setOnClickListener(new View.OnClickListener() {
           @Override
           public void onClick(View v) {
               moveTaskToBack(true);
           }
       });
        b1=(Button)findViewById(R.id.button1);
        b2=(Button)findViewById(R.id.button2);
        b3=(Button)findViewById(R.id.button3);
        b3.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                rlay.setBackgroundColor(Color.argb(255,137,244,95));
                tv.setBackgroundColor(Color.argb(33,0,0,0));
                Intent k=new Intent(test.this,Main2Activity.class);
                k.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                startActivity(k);
            }
        });
        b1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                rlay.setBackgroundColor(Color.argb(255,137,244,95));
                tv.setBackgroundColor(Color.argb(33,0,0,0));
                Intent qu=new Intent(test.this,wallandshare.class);
                qu.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                qu.putExtra("exact1",set1);
                qu.putExtra("exact2",wall);
                qu.putExtra("exact3", 1);
                startActivity(qu);
            }
        });
        b2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                rlay.setBackgroundColor(Color.argb(255,137,244,95));
                tv.setBackgroundColor(Color.argb(33,0,0,0));
                Intent qu=new Intent(test.this,wallandshare.class);
                qu.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                qu.putExtra("exact1",set1);
                qu.putExtra("exact2",wall);
                qu.putExtra("exact3", 2);
                startActivity(qu);
            }
        });
    }
}

AutoResizeTextView已在XML布局中定义,我使用简单的TextView来更改它。

问题是,当启动此活动时,屏幕变白并需要很长时间才能加载。我有什么办法可以让它快速加载吗?

1 个答案:

答案 0 :(得分:1)

我认为您一旦启动活动就会加载如此多的数据。 使用Handler并在几毫秒后运行代码。