usually, when I'm resetting the Arduino UNO the LCD I2C is also resetting or having a short blackout.. and will process the code. but the problem is, it's not happening.
I can't say that I've ever noticed that an LCD, either hooked up parallel or I2C, has reset in unison with the Uno being reset. So I don't have any idea what it is you think you've observed.
Executing lcd.init() and allowing it to complete is mandatory before redrawing on the display is mandatory before redrawing after power is reapplied to the lcd.
If you power them on at the same time, maybe the arduino sends the init commands before the display is ready.
The hd44780 chipset does not have a hardware reset.
The initialization process for a hd44780 LCD includes a command sequence that the host first sends to the LCD to get the LCD back into a known state where the host can communicate (send instructions) to the LCD.
After that, the initialization process sets the LCD to the appropriate mode.
There is no reset of the LCD involved as there is no way to h/w reset the LCD.
The only thing that does an actual "reset" is a power cycle as the LCD does some internal initialization on power up. This is what creates the black boxes on the display after power up.
What can happen is depending on the LCD and how the backlight circuitry works, the library may do something in the initialization code that could cause the backlight to turn off or flicker.
Or if the library has a long delay or is slow, the LCD may show blocks on power up before the library takes control and re-initializes and clears the display.
But these dark blocks will not show up when the host (arduino) is reset since resetting the host does not power cycle the LCD.
@hannahaustria
can you provide more details about what you are seeing / experiencing and/or explain what you think is happening or not happening.