How to Implement Image Compression On Android

Поделиться
HTML-код
  • Опубликовано: 26 ноя 2024

Комментарии • 25

  • @leanngugi
    @leanngugi Месяц назад +26

    If I wasn't poor I'd buy your courses. Thanks for the things you give us for free.

  • @lg.studio
    @lg.studio Месяц назад +1

    Earlier this year did a similar thing in my the I was working on, but my solution was to also down-scale it to a limited max 1600px (longer edge), as the project allowed to use smaller resolution images for the given purpose. As many new phones make too high resolution images for many purposes, down-scaling worked much better for me.

  • @Alexmez
    @Alexmez Месяц назад

    Best android mentor and teacher, 💯💯💯

  • @clementjoymasinamela4244
    @clementjoymasinamela4244 Месяц назад +3

    Very useful tutorial, thanks. Can you please do a tutorial on video compression.

  • @vengateshm2122
    @vengateshm2122 Месяц назад +1

    Can we add ensureActive() immediately after withContext block or it should be below suspending function?

  • @gauravkumar-bs3pf
    @gauravkumar-bs3pf Месяц назад

    I love learning with you, thanks for this! I just wanted to ask, do you have any tutorial on Speech to Text in Android?

  • @sijanneupane
    @sijanneupane Месяц назад

    done and dusted! ❤

  • @tarsilacostalonga
    @tarsilacostalonga Месяц назад

    Great one! Thanks ❤

  • @esekaemmanuel7295
    @esekaemmanuel7295 Месяц назад +1

    Thank you ❤

  • @anudeepananth
    @anudeepananth Месяц назад +1

    Can you please plz post more Compose Multiplatform videos

  • @berlinisaiah6892
    @berlinisaiah6892 Месяц назад

    Thank you very much

  • @subbubiruduraju9454
    @subbubiruduraju9454 Месяц назад

    As different images have different clarity, How can we determine quality and total compressed bytes beforehand to avoid blurred images? Or know if the image can still be compressed more?

  • @pawandeepsingh6365
    @pawandeepsingh6365 Месяц назад

    Hey Philipp, Could you please make a video how to navigate back from a page to previous page, by swiping left to right, current page shifts left to right revealing previous page below? Please

  • @bkshows9141
    @bkshows9141 9 дней назад

    Sir , I new in android jetpack compose if you add compress image show after selecting in this video then very thank of you

  • @John-qt6qk
    @John-qt6qk Месяц назад

    Thanks

  • @ОлексійКондрашов-ю3и
    @ОлексійКондрашов-ю3и Месяц назад +2

    Compressing in loop leads to OutOfMemory and not the best solution obviously.
    Trying to compress images with more than 20-30 mb leads to app crash

    • @PhilippLackner
      @PhilippLackner  Месяц назад +5

      The app compressed 20MB images for me without any issues. Since the loop uses a new stream with each iteration, the previous one can be freed up. Therefore, there are allocations for the input byte array, the bitmap and the currently compressed byte array which even for a 20MB image is 50-60MB in memory allocations and is not a lot given what modern devices have as RAM.

    • @ОлексійКондрашов-ю3и
      @ОлексійКондрашов-ю3и Месяц назад

      ​@@PhilippLackner ​ 20 mb is a compressed image, but when processing it converts to uncompressed bitmap that could take more than 1gb of RAM depends on resolution.
      Images in Android are displayed with ARGB888 with 4 bytes for 1 px.
      if we have image resolution 20000x20000 ( I really have one, it is space photo) Bitmap from this image has 1.5 GB size.
      I checked just know - if I open default image in MS Paint - it take 100-140 mb of RAM (In Task Manager)
      But if i open the large one - it takes 3.6 GB of RAM. The same happens when you just loading and compressing image in loop but several times!
      I understand that this case with 20000x20000 image is super rare, but if you develop serious apps with many active users your app will crash if try to load this image.
      The only workaround is to use BitmapOptions.inSampleSize and already load much more smaller image. For example Telegram compresses all images to fixed 1280px by the larger side. And Telegram doesnt crash when trying to load this image. But if use "loop" approach - it will crash 100%

  • @natanell777
    @natanell777 Месяц назад

    Why are you using remember in MainActivity? It’s not like a counter where the value can change. How can recomposition happen here?

  • @DanishShahzad-us6he
    @DanishShahzad-us6he 29 дней назад

    What about the video compression

  • @shubhamkokatnur6994
    @shubhamkokatnur6994 Месяц назад

    is this possible in java also?

  • @topwings2836
    @topwings2836 Месяц назад

    Course price is 9900€ then as per india Rs.832369 ruphee,Pls someone calrify me

  • @ka61er
    @ka61er Месяц назад

    😂