Logo

dev-resources.site

for different kinds of informations.

Flutter Development for Low end PCs

Published at
1/12/2025
Categories
flutter
mobile
scrcpy
android
Author
chamal1120
Categories
4 categories in total
flutter
open
mobile
open
scrcpy
open
android
open
Author
10 person written this
chamal1120
open
Flutter Development for Low end PCs

This is a dead simple and minimal dev workflow setup for flutter development.

Aight first up, let's see the memory footprint

These screenshots are taken from my Hyprland setup which is a very minimal Desktop Setup.

FLutter-with-low-end-pc

You can see that neovim is taking only 41mb of RAM while scrcpy is taking 181mb of RAM. These two apps replaces the VsCode and Android emulator which results in like 90% memory freeing.

With Hyprland, my complete setup when running the emulator and code editor is still under 4GB of RAM.

And with everything configured, this is how the setup looks;

Neovim and flutter with scrcpy

Ingredients:

  1. A package manager - to install stuff easily
  2. Neovim - for code editing
  3. Android studio - for managing the android sdk
  4. Flutter sdk - duh.!
  5. Scrcpy - android screen mirroring tool
  6. Your android phone - for the emulation (assuming it is above android version 5)

Steps:

  1. Setup package manager.

    Linux:
    you already have a package manager built in!

    macOS:

    # skip the first command if you already have  homebrew installed.
    /bin/bash -c "$(curl -fssl https://raw.githubusercontent.com/homebrew/install/head/install.sh)"
    

    Windows:

  2. Install neovim (skip if deciding to use VsCode).

    Install neovim and configure it work with flutter. if you aren't familier with vim motions, you can swap this step with vscode but it will increase the memory footprint when running everything. But it will still be better than running the emulator with VsCode.

    Linux:

    sudo pacman -s neovim # if you're on arch linux, for other distros, google it up
    
    

    macOS:

    brew install neovim
    

    Windows:

    choco install neovim
    
  3. Install android studio.

    Linux:

    yay -s android-studio # if you're on arch linux, for other distros, google it up
    

    macOS:

    brew install --cask android-studio
    

    Windows:

    choco install androidstudio
    
  4. Install flutter sdk.

    Linux:

    yay -s flutter-bin
    

    macOS:

    brew install --cask flutter
    

    Windows:

    choco install flutter
    
  5. Flutter Setup (skip if you're VsCode and Install dart and flutter extensions instead):
    Follow this guide to setup flutter tools with neovim (yeah it is lengthy but it's worth for the profit) - https://www.etiennetheodore.com/building-flutter-application-with-neovim/.

  6. Install scrcpy.

    Linux:

    yay -s scrcpy
    

    macOS:

    brew install scrcpy
    

    Windows:

    choco install scrcpy
    
  7. Enable usb debugging in your android device.

    a. Tap build number 7 times and enable developer. options
    b. Go to it and enable usb debugging.

  8. Authorize your phone with adb.

    a. Connect your phone via a usb cable to your pc/mac.
    b. Type adb devices.
    c. A prompt will come in your phone to authorize the device.
    d. After that just plug out and re-plug your device to computer.

  9. Now create a new flutter project or open and existing one with neovim.

    a. cd into your flutter project folder and type nvim ..
    b. Then press : symbol and type flutterRun in neovim. this is a command provided by flutter-tools neovim plugin. you can learn all the commands it offers through their GitHub repo.

  10. Mirror the screen using scrcpy.

    scrcpy --turn-screen-off
    
  11. that's it!
    You now have a very fast flutter emulator just beside your code editor. this can also setup to connect wirelessly. more on that in a future article.

Thank You for reading. Share if you think this is useful.

flutter Article's
30 articles in total
Favicon
Flutter vs React Native in 2025: A Comprehensive Comparison
Favicon
Building a Cross-Platform Food Ordering App with Flutter
Favicon
Deploying Flutter Web Apps using Globe.dev
Favicon
Flutter App, Speech to Text and Text to Speech 🐣
Favicon
Journey to Clean Architecture: Wrestling with a 10k Line Flutter Legacy Codebase
Favicon
Building the 'One of a Kind' Ultimate Mobile App Framework. Seeking exceptional engineers to join the journey.
Favicon
Why Should You Develop a Native Android App Over Flutter?
Favicon
Flutter Development for Low end PCs
Favicon
5 Essential Flutter Widgets Every Developer Should Master
Favicon
Mastering Nested Navigation in Flutter with `go_router` and a Bottom Nav Bar
Favicon
Flutter for Beginners: From Installation to Your First App
Favicon
Building a Beautiful Login Screen in Flutter: A Complete Guide
Favicon
Flutter Design Pattern Bussines Logic Component (BLOC)
Favicon
Movie X: A Developer’s Dive Into Flutter Project Organization
Favicon
Create Different Type of Flavor on Flutter Application
Favicon
Handling PathAccessException in iOS for File Download
Favicon
Full Stack Development (Mern && Flutter)
Favicon
Common mistakes in Flutter article series
Favicon
Design Pattern in Flutter MVVM
Favicon
7 Ways to Refactor Your Flutter Application
Favicon
is there any good article for custom lint rules in flutter?
Favicon
WebRTC vs Agora Video SDK vs ZegoCloud for Video Calling in Flutter: A Comprehensive Comparison
Favicon
Hassle free flutter Development in Hyprland with Neovim
Favicon
How to Build a CRUD Application Using Flutter & Strapi
Favicon
Flutter vs. React Native: Which mobile framework will you choose in 2025?
Favicon
Understanding ShellRoute in go_router: Managing Shared Layouts Effectively
Favicon
From Chaos to Control: The Day I Learned the Magic of Debouncing in Flutter πŸš€
Favicon
custom lint rules in flutter
Favicon
How to Clear Cookies in Flutter Custom Tabs?
Favicon
Flutter

Featured ones: