Форум программистов, компьютерный форум, киберфорум
Delphi: FireMonkey
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
863 / 333 / 43
Регистрация: 16.05.2014
Сообщений: 2,596

Получение статуса памяти

06.11.2015, 17:27. Показов 1991. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как в делфи получить статус памяти в андроиде?
Нашел код на яве - http://stackoverflow.com/quest... in-android
Java
1
2
3
4
5
6
7
ActivityManager activityManager = (ActivityManager) context.getSystemService(ACTIVITY_SERVICE);
MemoryInfo memoryInfo = new ActivityManager.MemoryInfo();
activityManager.getMemoryInfo(memoryInfo);
 
Log.i(TAG, " memoryInfo.availMem " + memoryInfo.availMem + "\n" );
Log.i(TAG, " memoryInfo.lowMemory " + memoryInfo.lowMemory + "\n" );
Log.i(TAG, " memoryInfo.threshold " + memoryInfo.threshold + "\n" );
Как его перевести в делфи?

Пробовал вот так:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
var
  mi:JActivityManager_MemoryInfo;
  am:JActivityManager;
  ah:TAndroidHelper;
begin
   ah:=TAndroidHelper.Create;
   am:=ah.Activity.getSystemService(StringToJString('ACTIVITY_SERVICE')) as JActivityManager;
 
    mi:=TJActivityManager_MemoryInfo.Create;
    am.getMemoryInfo(mi);
    ShowMessage('FreeMem/AllMem: '+mi.availMem.ToString()+'/'+mi.totalMem.ToString());
 
end;
Но в результате am=nil.

Добавлено через 25 минут
Вроде нагуглился пример использование андроид сервисов, получилось вот так:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
function GetActivityManager: JActivityManager;
var
  ActivityManagerNative: JObject;
begin
  ActivityManagerNative := SharedActivityContext.getSystemService(TJContext.JavaClass.ACTIVITY_SERVICE);
  if not Assigned(ActivityManagerNative) then
    raise Exception.Create('Could not locate Activity Service');
  Result := TJActivityManager.Wrap(
    (ActivityManagerNative as ILocalObject).GetObjectID);
  if not Assigned(Result) then
    raise Exception.Create('Could not access Activity Manager');
end;
 
procedure TMainForm.FormCreate(Sender: TObject);
begin
   am:= GetActivityManager;
   mi:=TJActivityManager_MemoryInfo.Create;
end;
 
procedure TMainForm.Timer1Timer(Sender: TObject);
 
begin
    am.getMemoryInfo(mi);
    lFreeMem.Text:='Free Memory: '+(mi.availMem div 1048576).ToString()+'Mb';
    LAllMem.Text:='All Memory: '+(mi.totalMem div 1048576).ToString()+'Mb';
end;
Есть где то описание, как в делфи работать с сервисными функциями андроид (память, батарейка и т.п.)? Я пока так и не понял, почему не работал пример выше и почему заработал второй вариант.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.11.2015, 17:27
Ответы с готовыми решениями:

URLDownloadToFile: Получение статуса загрузки и CallBack
Как в Visaul C++ когда использую URLDownloadToFile получить размер его в байтах, сколько уже скачало и записать это в переменные? Так же...

Получение статуса выполнения от внешней программы
Всем привет. На работе много конвертирую видео в разные форматы с разными настройками. Для своего удобства, написал микро-программку,...

Получение статуса прогресса при распаковке ZIP архива
Всем доброго времени суток. Вообщем я распаковываю ZIP архив путем: ZipForge zip = new ZipForge(); zip.FileName...

2
 Аватар для Korvet1
1 / 9 / 0
Регистрация: 10.01.2016
Сообщений: 612
08.11.2019, 04:25
Так все таки как быть сделением на ноль?Хотелось бы продолжить обсуждение!!!
0
 Аватар для krapotkin
6847 / 4674 / 1463
Регистрация: 14.04.2014
Сообщений: 20,656
Записей в блоге: 21
08.11.2019, 22:23
тут нужно держать руки на пульсе - от версии к версии И делфи И андроида код меняется ((
так что проще всего еще раз взять готовое более свежее со StackOverflow
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
08.11.2019, 22:23
Помогаю со студенческими работами здесь

Получение данных о памяти
Всем привет, использую библиотеку WMI, чтобы получать данные о памяти, но вот проблема, нету данных о производители, где получить ?

Получение данных из памяти
В c++ мои знания не так велики, поэтому возникла проблема получения данных из процесса. В чем, собственно, суть: есть процесс, в котором...

Получение карты памяти
Здравствуйте! Как получить ПОЛНУЮ карту оперативной памяти. Полная - это со всеми MMIO областями. То есть видеопамять, ISA, PCI, APIC, USB....

Получение значений памяти по указателю
проблема следующая, имею многоуровневый указатель (изобразил как смог в общих чертах, два варианта) вар_1 offset | address ...

Получение информации о памяти в Linux из C/C++
Помогите пожалуйста написать функцию для Linux, которая бы возвращала значение доступной памяти RAM на C/C++. Я написал такую функцию: ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru