Page 1 of 1

Is there a programmer in the house?

PostMessage posted...: Wed Jun 24, 2015 6:45 pm
by artynonymous
I think I've stumbled onto one or more of the major bugs plaguing HF right now, the data drain and not being able to load/connect or when you actually CAN connect the game crashing.

I have a Galaxy S5. I've had huge amounts of data used. With the latest patch, I had to force close, relaunch, clear cache, and even uninstall/reinstall to even launch the game....I'd get stuck between initializing/connecting to hellfire and downloading new content. It would just hang there for hours and do nothing.

I originally thought the data drain was perhaps linked to the file structure used when using things like safestrap or custom ROMs (you can end up with a parent directory of 0/), and the app not being able to "see" the files it has downloaded, so it goes and gets them again. So I did a complete wipe of my phone and reinstalled a different version of Android 4.4.2. No change. I had no issues with any other app, just Hellfire - so naturally I assumed the problem was with the app.

In my spare time of not really being able to play, I wiped my phone again and installed Android 5.0. I now connect 100% of the time to Hellfire. I will see a "Cannot connect to network" message, hit okay, and it proceeds like normal on both wifi and 4g data, though. It hasn't crashed yet, and my data usage is way down (very small sample size).

Reading through some posts on this forum and the FB page, the trend seems to be with Galaxy devices. S4, S4 mini, S5, Note 2, etc. I've seen 1 person say they are using an S6 without issue, but on Android 5.0 which is what I'm now problem free on. I have not gotten responses as of yet to find if they are using custom ROMs, including whether they are using odexed or deodexed ROMs (a type of caching system for Android, as I understand it). I believe my version of 5.0 is odexed, as my 4.4.2 were deodexed.

Now to what I need someone with programming knowledge for - What changed between 4.4.2 and 5.0 as far as the file system and how apps are read and/or how apps connect to the network? I believe this is the key to why people cannot connect or have data drain issues.

If you're on a Galaxy device, please add your ROM version (including custom or standard), whether you are odexed or deodexed, Android version, and if you are experiencing hangs, data drain, both, or no issues at all.

Re: Is there a programmer in the house?

PostMessage posted...: Thu Jun 25, 2015 7:14 am
by Corwin9s

For more infos about odexed/deodexed systems, open the hidden panel here :

Android (being based on Linux) uses application packages, or APKs, as they’re normally called, to tell the operating system what app to load and execute. If you’re at all familiar with Android, you’ll know that the OS works on the basis of partitions, out of which those apps that are contained in the /system partition are system apps (and cannot be changed or modified without having root level access, since they’re a part of the OS itself), while those contained within the /data partition are user apps and can be freely modified. The /system partition is the first one to load when the operating system boots up, hence giving priority to the apps contained within. It is with these apps that odex and deodex deal with.

Coming back to Android applications, there are two possible routes to follow, based on the fact that each app is comprised of an APK and a cache part that tells the Android Dalvik Virtual Machine (VM) what components does the app come with.

  • The cache for each APK is contained separately in a .odex file, which loads into the virtual machine at the time of boot, thus speeding up boot times. (Odexed)
  • The cache for each APK is contained within the APK itself as a classes.dex file, making the boot times slower as Dalvik VM is built up. (Deodexed)

Now, ideally, most OEMs choose to opt for the first route, for two major reasons. First, it makes modifying the system apps more difficult (thus making the OS more stable and secure), and two, faster load times for the OS itself, since the cache is built as part of the virtual machine itself.

There is more technical explanation to this, but the easiest way to find out is to use root and root explorer and in your phone's /system/app normally you have the .apk and coresponding .odex to every application inside your phone. Deodexed rom (mostly Custom Rom) don't have .odex files.

Deodexed is like decompiling the application (java..etc.) and recompiling it at the same time so that the apps will work even without the .odex file.

Good links:
[GUIDE] - The differences between Odex and Deodex Files

Odexed vs Deodexed – The Difference Between The Two Android ROMs Explained

About my phone:
- Samsung Galaxy S5 (SM-G900F)
- Android version : 5.0
- ROM Version : G900FXXU1BNL9
- Date of ROM : 18th Dec. 2014
- Rooted : yes
- Filesystem : odexed
- fast drain of battery with HF (not so fast else)
- no crashes with HF
- no infinite login/loading time with HF
- mobile data use of HF : 740Mo from 11th juni to 25th juni
- wifi data use of HF : 1.2Go from 28th mai to 25th juni
- disk space used for HF: total about 1.7Go
- message "not connected to network" only on wifi mode

Last know ROMs for SM-G900F :

I'm planning to evolve to the very latest ROM available for Switzerland very soon.

Re: Is there a programmer in the house?

PostMessage posted...: Thu Jun 25, 2015 1:39 pm
by artynonymous
thanks corwin. did you have issues on previous versions of android that were listed? like the loop and data usage?

Re: Is there a programmer in the house?

PostMessage posted...: Thu Jun 25, 2015 1:50 pm
by Corwin9s
sometimes yes. but nothing which wasn't solved by a dalvik cleaning action.