gpt4 book ai didi

java - Activity 每次启动时都会增加 RAM 使用

转载 作者:行者123 更新时间:2023-11-29 09:15:10 25 4
gpt4 key购买 nike

好吧,所以我有点困惑/沮丧。

我有一个始终运行的服务和一个 Activity 。每次启动和关闭 Activity 时,应用程序内存或 ram 使用都会增加。

我在 Activity 中只有图像和搜索栏。

我需要做什么来阻止它,因为它会很快累积起来!

我也有很多 getter 和 setter。比如tv.getText().toString();和 bg.setBackgroundResource(R.drawable.icon);


因此,在我的 onCreate 中,它启动布局的 ID 等...每次创建 Activity 时,使用的内存或 ram 都会显着增加。它是复制资源还是什么?它以恒定的速度上升。

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(android.view.Window.FEATURE_NO_TITLE);
setContentView(R.layout.lock_screen);
tm = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);

//DATE & TIME STATS
DateLayout = (LinearLayout) findViewById(R.id.DateLayout);
curhour = (TextView) findViewById(R.id.hourText);
curmin = (TextView) findViewById(R.id.minText);
curmonth = (TextView) findViewById(R.id.monthText);
curday = (TextView) findViewById(R.id.dayText);
curactualday = (TextView) findViewById(R.id.actualdayText);
batt = (TextView) findViewById(R.id.batt);

//updateClock();

//PATHS & TARGETS
SliderUnlockPath = (ImageView) findViewById(R.id.slider_unlock_path);
SliderTextAnimation=(AnimationDrawable) SliderUnlockPath.getDrawable();

//SLIDER
seekbar = (SeekBar) findViewById(R.id.seekbar);
seekbar.setOnSeekBarChangeListener( new OnSeekBarChangeListener()
{
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser){
// TODO Auto-generated method stub
}

public void onStartTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
//SliderUnlockPath.setBackgroundResource(R.drawable.lockscreen_slider_path_light);
SliderUnlockPath.setVisibility(ImageView.INVISIBLE);
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
//SliderUnlockPath.setBackgroundResource(R.drawable.lockscreen_slider_path);

//IF RIGHTMOST (UNLOCK ZONE)
int UnlockZone = seekbar.getProgress();
if (UnlockZone > 86) UnlockZone = 100; {
seekbar.setProgress(UnlockZone);
SliderUnlockPath.setVisibility(ImageView.INVISIBLE);
}
if (UnlockZone == 100) {
mHandler.removeCallbacks(mUpdateTimeTask);
finish();

}

//IF NOT RIGHTMOST
int ResetZone = seekbar.getProgress();
if (ResetZone < 86) ResetZone = 0; {
seekbar.setProgress(ResetZone);
SliderUnlockPath.setVisibility(ImageView.INVISIBLE);
SliderUnlockPath.setVisibility(ImageView.VISIBLE);
//SliderUnlockPath.setBackgroundResource(R.drawable.lockscreen_slider_path);
}
}
});




//WIDGETZONE VIEWFLIPPER
vf = (ViewFlipper) findViewById(R.id.layoutswitcher);


//MUSIC
//MusicLayout = (LinearLayout) findViewById(R.id.MusicLayout);
//MusicInfoLayout = (LinearLayout) findViewById(R.id.MusicInfoLayout);
//UpdateMusicOnStart();


//WEATHER
WeatherTop = (ImageView) findViewById(R.id.WeatherTop);
WeatherTopAnimation();

iconCurrent = (ImageView)findViewById(R.id.iconcurrent);
CurrentLocation = (TextView)findViewById(R.id.CurrentLocation);
CurrentHigh = (TextView)findViewById(R.id.CurrentHigh);
CurrentCondition = (TextView)findViewById(R.id.CurrentCondition);
//CurrentLow = (TextView)findViewById(R.id.CurrentLow);

//Get Location from Main Panel
CurrentLocation.setText(place);

//STRINGS FOR TEXT INFO
//String weatherString = QueryGoogleWeather(place);
//Document weatherDoc = convertStringToDocument(weatherString);
/*if(parseGoogleWeather(weatherDoc)){
//Display Result
String c = currentConditions.condition
+ currentConditions.temp_f
+ currentConditions.temp_c;*/
//+ currentConditions.humidity
//+ currentConditions.wind_condition;

//textCurrent.setText(c);

/*textInfo.setText("city: " + forecastInformation.city + "\n"
+ "postal code: " + forecastInformation.postal_code + "\n"
+ "forecast date: " + forecastInformation.forecast_date + "\n"
+ "current date time: " + forecastInformation.current_date_time + "\n"
+ "unit: " + forecastInformation.unit_system);*/

//CurrentLocation.setText(forecastInformation.city);

//if (iLockerMain.TEMPSCALE.isChecked()) {
//CurrentHigh.setText(currentConditions.temp_f+"°"+"F");
//} else {
//CurrentHigh.setText(currentConditions.temp_c+"°"+"C");
//}

//CurrentCondition.setText(currentConditions.condition);

//Bitmap bm = LoadIcon(currentConditions.icon);
//iconCurrent.setImageBitmap(bm);

/*if (CurrentCondition.getText().toString().equals("Overcast")) {
iconCurrent.setBackgroundResource(R.drawable.cloudy3small);
} else if (CurrentCondition.getText().toString().equals("Light rain")) {
iconCurrent.setBackgroundResource(R.drawable.light_rainsmall);
} else if (CurrentCondition.getText().toString().equals("Light snow")) {
iconCurrent.setBackgroundResource(R.drawable.snow3small);
}*/



mHandler = new Handler();
}

@Override
public void onResume(){
//updateClock();
mHandler.removeCallbacks(mUpdateTimeTask);
mHandler.postDelayed(mUpdateTimeTask, 100);


super.onResume();
}
@Override
public void onPause(){
//unregisterReceiver(mReceiver);
mHandler.removeCallbacks(mUpdateTimeTask);

super.onPause();
}

最佳答案

您是否在 onDestroy() 中释放所有分配?

关于java - Activity 每次启动时都会增加 RAM 使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9959821/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com