Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.sanedu.memorytesting;
- import androidx.appcompat.app.AppCompatActivity;
- import android.content.BroadcastReceiver;
- import android.content.Context;
- import android.content.Intent;
- import android.content.IntentFilter;
- import android.os.Bundle;
- import android.util.Log;
- import android.view.View;
- import android.widget.Button;
- public class MainActivity extends AppCompatActivity {
- private static final String TAG = "MainActivityTag";
- Button clearMemory, increaseMemory;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- clearMemory = findViewById(R.id.clear_memory);
- increaseMemory = findViewById(R.id.inc_memory);
- // Clear memory button
- clearMemory.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- System.runFinalization();
- Runtime.getRuntime().gc();
- System.gc();
- printRuntimeMemory();
- }
- });
- // Button used to increase memory
- increaseMemory.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- incMemory();
- printRuntimeMemory();
- }
- });
- }
- // Function used to print runtime memory
- private void printRuntimeMemory(){
- Runtime runtime = Runtime.getRuntime();
- long runtimeMax = -1;
- long runtimeTotal = -1;
- long runtimeFree = -1;
- long runtimeUsed = -1;
- if (runtime != null) {
- runtimeMax = runtime.maxMemory();
- runtimeTotal = runtime.totalMemory();
- runtimeFree = runtime.freeMemory();
- runtimeUsed = runtimeTotal - runtimeFree;
- }
- Log.d(TAG, "printRuntimeMemory: Free: " + runtimeFree +" Used: " + runtimeUsed);
- }
- // Function used to increase memory usage
- private void incMemory(){
- IntentFilter filter = new IntentFilter();
- filter.addAction(Intent.ACTION_AIRPLANE_MODE_CHANGED);
- BroadcastReceiver receiver = new BroadcastReceiver() {
- @Override
- public void onReceive(Context context, Intent intent) {
- //do something based on the intent's action
- }
- };
- registerReceiver(receiver, filter);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment