Тема: Задача WINAPI створення аналогу Exel
Я недавно почав працювати на фрілансі, місяць тому. Мені прийшли 2 замовлення, і обидва я провалив. І обидва цих замовлення пов'язані зі створенням забезпечення для ведення бухгалтерського обліку. Я дуже довго (4 дні) шукав, як зробити ці програми, але все ж не знайшов і відмовився від замовлень. Точніше, я не хотів покривати збитки замовникам.
Задача була приблизно такою:
На ОС Android/Windows створити програму бухгалтерського обліку на основі БД SQLite, 
Меню:
Диски
Ланцюги
Лопати
...
Ну і кожен пункт має виводити на таке вікно, в якому є таблиця схожа на exel, і там мають бути стовпці 
Товар    ПІП     Дата .... Кнопки
Диск  Іванов Іван 03.08.2019 перенести редагувати видалити
ну і от натискання на кнопку перенести має переносити запис з однієї таблиці SQLite в іншу і от така задача. Ну ви сподіваюсь зрозуміли
Ну я клієнтам сказав, звичайно, що це ізі. Що це звичайна БД і я без проблем справлюся з завданням.
У мене почалися проблеми вже на EditText, тобто кожна ячейка це має бути EditText (в андроїді в в віндовсі він зветься однаково).  Ну, припустимо я створюю масив із дескрипторів на таблицю мегабайтів 3, скільки це пам'яті буде? На андроїді - ще гірше. Пристрої мають замало ресурсів, а JVM множить ресурси програми на 6.
Потім - в кожному рядку цієї таблиці по бажанню замовника мають бути кнопки.
А це треба на кожну кнопку робити switch (case) ну і припустимо в таблиці 5000 рядків і треба проаналізувати 3 кнопки * 5000  = 15000 кнопок, ідентифікатори звичайно числові ну тобто без #define. 
Потім там ще мають бути чекбокси для можливості одночасного перенесення чи видалення.
Загальний алгоритм такий: 
1. відкриваємо базу
2. визначаємо кількість записів одного із стовпців
3. створюємо масив дескрипторів, який дорівнює (операція 2)*(3кнопки+1чекбокс+кількість стовпців_відома_для_кожного_вікнаокремо)
4. створюємо потік + прогресбар і заповнюємо наш масив з БД і кнопками
5. програма завершується невдало хоч на віндовс хоч на андроїд, після перевершення ліміту ресурсів, а на андроїді взагалі одразу після запуску
Код тут писати дуже  довго, вибачайте.
як вирішити цю проблему?
  Якщо потік робили без синхронізації, то немає нічого дивного, що програма вилітає. Цей потік тут взагалі лишній, позицію скролів легко відслідковувати ловлячи