কম্পিউটার টিউটোরিয়াল

অ্যান্ড্রয়েডে বর্তমান এক্টিভিটির উপলব্ধ মেমরি (Available Memory) কীভাবে পেতে হয়?

ActivityManager.MemoryInfo ব্যবহার করে অ্যান্ড্রয়েডে উপলব্ধ মেমরি জানা

এই উদাহরণটি দেখাবে কিভাবে ActivityManager.MemoryInfo ক্লাস ব্যবহার করে ডিভাইসের বর্তমান উপলব্ধ মেমরি (Available RAM) বাইটে বের করা যায়। এটি মেমরি ম্যানেজমেন্ট, ক্যাশে ক্লিয়ার করার সিদ্ধান্ত নেওয়ায় সাহায্য করে।

ধাপ ১: নতুন প্রজেক্ট তৈরি করুন

Android Studio-তে File → New Project দিয়ে প্রজেক্ট তৈরি করুন।

ধাপ ২: লেয়াউট ফাইল (res/layout/activity_main.xml)

<?xml version = "1.0" encoding = "utf-8"?>
<LinearLayout xmlns:android = "https://schemas.android.com/apk/res/android"
    xmlns:app = "https://schemas.android.com/apk/res-auto"
    xmlns:tools = "https://schemas.android.com/tools"
    android:layout_width = "match_parent"
    android:gravity = "center"
    android:layout_height = "match_parent"
    tools:context = ".MainActivity">
    <TextView
        android:id = "@+id/text"
        android:textSize = "30sp"
        android:layout_width = "match_parent"
        android:layout_height = "match_parent" />
</LinearLayout>

ধাপ ৩: জাভা কোড (src/MainActivity.java)

ActivityManager.MemoryInfo অবজেক্ট তৈরি করে availMem ফিল্ড এক্সেস করা হয়েছে।

package com.example.myapplication;

import android.app.ActivityManager;
import android.app.admin.DevicePolicyManager;
import android.content.Context;
import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager;
import android.os.Build;
import android.os.Bundle;
import android.support.annotation.RequiresApi;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {
    TextView textView;

    @RequiresApi(api = Build.VERSION_CODES.N)
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        textView = findViewById(R.id.text);

        // MemoryInfo অবজেক্ট তৈরি করে availMem পাওয়া
        ActivityManager.MemoryInfo memoryInfo = new ActivityManager.MemoryInfo();
        // নোট: অবজেক্ট তৈরি করলেই সিস্টেম এটি পূরণ করে দেয় (getMemoryInfo কল করা লাগে না এই কনস্ট্রাক্টরে)
        // কিন্তু সঠিক পদ্ধতিতে: ActivityManager am = getSystemService(ACTIVITY_SERVICE); am.getMemoryInfo(memoryInfo);
        textView.setText("Activity manager memory information: " + memoryInfo.availMem + " bytes");
    }
}

অ্যাপ্লিকেশনটি রান করুন

ডিভাইস সংযুক্ত করে Run করুন। উপলব্ধ মেমরি বাইটে দেখাবে।

অ্যান্ড্রয়েডে বর্তমান এক্টিভিটির উপলব্ধ মেমরি (Available Memory) কীভাবে পেতে হয়?

সঠিক এবং সম্পূর্ণ পদ্ধতি

উপরের কোডে new MemoryInfo() কাজ করলেও, অফিসিয়ালি ActivityManager.getMemoryInfo() কল করাই সঠিক:

ActivityManager activityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
ActivityManager.MemoryInfo memoryInfo = new ActivityManager.MemoryInfo();
activityManager.getMemoryInfo(memoryInfo); // এটাই আপডেট করে

long availMem = memoryInfo.availMem; // বাইটে
long totalMem = memoryInfo.totalMem; // API 16+ - টোটাল মেমরি
boolean lowMemory = memoryInfo.lowMemory; // সিস্টেম লো মেমরি মোডে কিনা
long threshold = memoryInfo.threshold; // লো মেমরি থ্রেশহোল্ড

মানব পাঠযোগ্য ফরম্যাটে দেখানো

String readableSize = android.text.format.Formatter.formatFileSize(this, memoryInfo.availMem);
textView.setText("Available Memory: " + readableSize); // যেমন: 1.2 GB
  1. অ্যান্ড্রয়েডে বর্তমান থ্রেডের নাম পাওয়ার পদ্ধতি

  2. অ্যান্ড্রয়েডে বর্তমান থ্রেড ইন্টারাপ্টেড (Interrupted) কিনা যাচাই করার পদ্ধতি

  3. অ্যান্ড্রয়েডে বর্তমান থ্রেড ডেমন (Daemon) কিনা যাচাই করার পদ্ধতি

  4. অ্যান্ড্রয়েডে বর্তমান থ্রেডের আইডি (ID) পাওয়ার পদ্ধতি