Git Product home page Git Product logo

Comments (16)

smellymoo avatar smellymoo commented on July 30, 2024

is this project still alive? I can probably help you debug the problem, I am a developer (got a 50+ million download app).

from gobandroid.

ildar avatar ildar commented on July 30, 2024

from gobandroid.

ligi avatar ligi commented on July 30, 2024

yea - also need to cut a new release soon

from gobandroid.

ildar avatar ildar commented on July 30, 2024

from gobandroid.

smellymoo avatar smellymoo commented on July 30, 2024

just had a quick dig, I think it might be that you only have onpause, and android can skip onpause in certain cases?

from gobandroid.

ligi avatar ligi commented on July 30, 2024

OnPause should actually never be skipped:

image

from gobandroid.

smellymoo avatar smellymoo commented on July 30, 2024

Lol. Oh I remember being your level of optimistic about android, that passed about 5 years ago...

Read the android docs and you will quickly discover that it's all bs, they have fat warnings everywhere saying that they may not happen.

The android life cycle is a great idea, but they didn't implement it probably. Now it's garbage. Basically I have seen most parts skipped, or called twice, or called out of order (when there is more than one activity) 🤦

There are different ways to deal with this, mine was to not trust all the life cycle calls, and feed them into my own generic handler of state, then that keeps track of It's own state and calls my own start or stop functions. This then debounces and allows android to forget to call things.

At the very minimum you need to combine onPause and onStop (and maybe onSaveInstanceState() ) to get anything reliable.

from gobandroid.

smellymoo avatar smellymoo commented on July 30, 2024

I call your photo and raise you...

Screenshot_20230411_080106

from gobandroid.

smellymoo avatar smellymoo commented on July 30, 2024

The worst of it is:

onPause() may be called unexpectedly if the activity is partially obscured by a system dialog or if the system needs to reclaim resources.

onResume() may be called unexpectedly if the activity was partially obscured by a system dialog or if the system needed to reclaim resources.

onSaveInstanceState() may not be called if the activity is destroyed unexpectedly, such as during a low-memory situation or a process death.

onStop() may be called unexpectedly if the system needs to reclaim resources, or if the activity is partially obscured by a system dialog.

from gobandroid.

ligi avatar ligi commented on July 30, 2024

can you point me to where in the docs it states onPause might not be called?

from gobandroid.

smellymoo avatar smellymoo commented on July 30, 2024

Screenshot_20230411_132947_Firefox.jpg

I'm on my phone right now. That is one example. But honestly, if you don't want to fix it, that's on you. Done my part.

from gobandroid.

smellymoo avatar smellymoo commented on July 30, 2024

I am sorry. I was having a bad day and you were looking at the finger pointing rather than what it was pointing at.

Maybe just call it a feature not a bug? when you put your phone down it's non-deterministic if you still have your game when you go back, gives you a little gambling kick... also if you are losing the game, then it's like "oh shit, it cleared itself, oh well, shall we start again?"

from gobandroid.

ligi avatar ligi commented on July 30, 2024

Thanks - no I want to fix it - guess I just do the saving after each move then - I think this should solve the problem.

from gobandroid.

smellymoo avatar smellymoo commented on July 30, 2024

that is an easy and robust solution.

Other ideas would be:

  • running a background service (pain in the bum).
  • funnelling all of the possible ones (onPause, onStop, and onSaveInstanceState) into save, with debounce logic.
  • timer based pause (this would be an optimization on top of your solution)
  • ???

from gobandroid.

37elivan73 avatar 37elivan73 commented on July 30, 2024

Hi everyone, I'm still here, an apology for closing this project. Stop, I'll restart it. If it's still not there, let me know or if you can restart it, go ahead. On the other hand, I thank everyone for their support.

from gobandroid.

37elivan73 avatar 37elivan73 commented on July 30, 2024

Hi everyone, I'm still here, an apology for closing this project. Stop, I'll restart it. If it's still not there, let me know or if you can restart it, go ahead. On the other hand, I thank everyone for their support.

from gobandroid.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.