我的新Android应用程序缓慢

问题描述:

我正在构建自己的Android应用程序,当我将它放在我的Nexus 5和Xperia Neo中时可以正常工作,但在Nexus 4或Galaxy S3上运行缓慢。我不知道它发生了什么。你可以帮帮我吗? 我正在使用android:minSdkVersion =“14”和android:targetSdkVersion =“17”,碎片和一个DrawerLayout。我的新Android应用程序缓慢

package test.Droidlogin;

import android.content.res.Configuration;

import android.os.Bundle;

import android.support.v4.app.ActionBarDrawerToggle;

import android.support.v4.app.FragmentActivity;

import android.support.v4.widget.DrawerLayout;

import android.view.MenuItem;

import android.view.View;

import android.widget.AdapterView;

import android.widget.AdapterView.OnItemClickListener;

import android.widget.ArrayAdapter;

import android.widget.Button;

import android.widget.ListView;

import android.widget.TextView;

公共类Herramientas延伸FragmentActivity {

字符串用户;

int iduser;

TextView txt_usr,logoff,txt_iduser;

Button bmiscervezas,bbd,btools,bcrear;

ActionBarDrawerToggle切换;

String tituloSeccion;

ListView drawer;

公共无效的onCreate(捆绑savedInstanceState){

 super.onCreate(savedInstanceState); 
     setContentView(R.layout.herramientas); 

     drawer = (ListView) findViewById(R.id.drawer); 
     final DrawerLayout drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout); 

     final String[] opciones = {"CONVERSORES", "Temperatura", "Densidad", "Peso", "Volumen", "Presión", "ESPECÍFICAS", "Corrección de Densímetro", "Infusion Step Tool", "Atenuación y Alcohol", 
       "Mash Adjust", "Weight to Volume", "Refractometer", "Carbonation"}; 
     drawer.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, android.R.id.text1, opciones)); 


     drawer.setOnItemClickListener(new OnItemClickListener() { 
      @Override 
      public void onItemClick(AdapterView<?> parent, View view, 
        int position, long id) { 

       android.support.v4.app.Fragment fragment = null; 

       switch (position) { 
        case 1: 
         fragment = new HTemperatura(); 
         break; 
        case 2: 
         fragment = new HDensidad(); 
         break; 
        case 3: 
         fragment = new HPeso(); 
         break; 
        case 4: 
         fragment = new HVolumen(); 
         break; 
        case 5: 
         fragment = new HPresion(); 
         break; 
        case 7: 
         fragment = new HCorreccionDensimetro(); 
         break; 
        case 8: 
         fragment = new HInfusionStepTool(); 
         break; 
        case 9: 
         fragment = new HAtenuacionyAlcohol(); 
         break; 
        case 10: 
         fragment = new HMashAdjust(); 
         break; 
        case 11: 
         fragment = new HWeighttoVolume(); 
         break; 
        case 12: 
         fragment = new HRefractometer(); 
         break; 
        case 13: 
         fragment = new HCarbonation(); 
         break; 
       } 
       if(position != 0 && position != 6){ 
        android.support.v4.app.FragmentManager fragmentManager = getSupportFragmentManager(); 

        fragmentManager.beginTransaction() 
          .replace(R.id.content_frame, fragment) 
          .commit(); 

        drawer.setItemChecked(position, true); 

        tituloSeccion = opciones[position]; 


        getActionBar().setTitle(tituloSeccion); 

        drawerLayout.closeDrawer(drawer); 
       } 
      } 
     }); 

     ////// 

     toggle = new ActionBarDrawerToggle(this, drawerLayout, R.drawable.ic_drawer_aux, R.string.app_name, R.string.hello_world){ 

      public void onDrawerClosed(View view) { 

      invalidateOptionsMenu(); 
      } 

      public void onDrawerOpened(View drawerView) { 
      getActionBar().setTitle("Menú"); 
      invalidateOptionsMenu(); 
      } 
      }; 

      drawerLayout.setDrawerListener(toggle); 
      //getActionBar().setIcon(R.drawable.ic_drawer_aux); 
      getActionBar().setDisplayHomeAsUpEnabled(true); 
      getActionBar().setDisplayShowTitleEnabled(true); 
      getActionBar().setHomeButtonEnabled(true); 


} 
@Override 
protected void onPostCreate(Bundle savedInstanceState) { 
super.onPostCreate(savedInstanceState); 
toggle.syncState(); 
} 
@Override 
public void onConfigurationChanged(Configuration newConfig) { 
    super.onConfigurationChanged(newConfig); 
    toggle.onConfigurationChanged(newConfig); 
} 

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    if (toggle.onOptionsItemSelected(item)) { 
     return true; 
    } 
    return super.onOptionsItemSelected(item); 
} 

}

+2

您需要提供有关代码细节的更多详细信息。你能给出一个源代码示例吗? –

+0

我更新了请求添加一部分代码。如果你想让我也能播种清单。 – user3480270

好了,我已经找到了错误。用皮棉警告我透支我的背景。但我不知道如何解决它。我改变这种:

<style name="AppBaseTheme" parent="android:Theme.Holo"> 
</style> 

这样:

<style name="AppBaseTheme" parent="android:Theme.Holo"> 
<item name="android:windowContentOverlay">@null</item> 
<item name="android:windowBackground">@null</item> 
</style> 

,现在我可以把每一个layout.xml我的背景。但我的问题是,我改变之前,我的按钮看起来像一个“真正的按钮”,但现在新的变化看起来像一个没有边框的TextView。