Память Android Studio поднимается с каждым выключателем макетаAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Память Android Studio поднимается с каждым выключателем макета

Сообщение Anonymous »

У меня есть проблемы с памятью - каждый раз, когда я меняю макет, память поднимается. Даже когда он холодился, он медленно поднимается, хотя на заднем плане ничего не работает. Я пытался добавить флаг Nohistory, флаги, связанные с намерениями и изменение моего класса с сериализуемого на Синглтон, но проблема сохраняется. В настоящее время я сократил свою проблему в эти классы: < /p>

Код: Выделить всё

public class MainActivity extends AppCompatActivity {

private DataHolder dataHolder;

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

dataHolder = DataHolder.getInstance();
if(dataHolder.isDataNull())
dataHolder.setData(new Data());
dataHolder.getData().setContext(this);

Button info_button = findViewById(R.id.button3);
info_button.setOnClickListener(v -> {
Intent intent = new Intent(MainActivity.this, InfoActivity.class);
dataHolder.getData().clearContext();
startActivity(intent);
finish();
});
}
}
< /code>
и < /p>
public class InfoActivity extends AppCompatActivity {

private DataHolder dataHolder;

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

dataHolder = DataHolder.getInstance();
dataHolder.getData().setContext(this);

Button back_button = findViewById(R.id.back);
back_button.setOnClickListener(v -> {
Intent intent = new Intent(InfoActivity.this, MainActivity.class);
dataHolder.getData().clearContext();
startActivity(intent);
finish();
});

}
}
< /code>
Также я думаю, что могут возникнуть проблемы с контекстом, которую я использую в данных для использования тоста позже: < /p>
public class Data{
private String visibleExpression = "";
private String realExpression = "";
private String currentNumber = "0";
private final int MAX_SIZE = 20;
private Operation lastOperation = NONE;
private boolean isAlreadyNextNumber = true;
private boolean error = false;
private boolean isResultGiven = false;
transient WeakReference context;

public void setContext(Context context)
{
this.context = new WeakReference(context);
}
public void clearContext() {
if (context != null) {
context.clear();
}
context = null;
}
}
У меня нет идей, и я не могу найти ничего полезного, пожалуйста, помогите

Подробнее здесь: https://stackoverflow.com/questions/795 ... out-switch
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»