▲ 75 ▼ Possible explanation for jank in Android as opposed to iOS (20 millisecond core ramp on ARM/Android vs 50 microseconds on Apple/iOS) (social.treehouse.systems) submitted 3 years ago* (last edited 3 years ago) by octalfudge@lemmy.world to c/apple_enthusiast@lemmy.world 27 comments fedilink hide all child comments More useful context: https://social.treehouse.systems/@chadmed/110874563649736382
[+] Aux@lemmy.world -7 points 3 years ago (2 children) Java is only used for software development, there's nothing Java during run time. permalink fedilink source parent hideshow 4 child comments replies: [–] huginn@feddit.it 4 points 3 years ago (1 child) ART? permalink fedilink source parent hideshow 2 child comments replies: [–] Aux@lemmy.world 0 points 3 years ago (2 children) ART what? permalink fedilink source parent hideshow 4 child comments replies: [–] huginn@feddit.it 4 points 3 years ago (1 child) ART is the equivalent of a JVM. It doesn't implement all the apis, the compiled bytecode differs, it's optimized for mobile but that doesn't make it not a JVM. That's why the NDK exists: so you can build and run C++ code natively. permalink fedilink source parent hideshow 2 child comments replies: [–] Aux@lemmy.world -5 points 3 years ago (1 child) Python VM is Java by your logic. If you don't understand IT, you shouldn't really talk on IT topics. permalink fedilink source parent hideshow 2 child comments replies: [–] huginn@feddit.it 2 points 3 years ago (1 child) I can use the exact same apache jars on my Android project and my Java server. That's not Python. That's very clearly java code. The implementation of the contract is different but that's not the same as not being Java. permalink fedilink source parent hideshow 2 child comments replies: [–] Aux@lemmy.world 1 point 3 years ago (1 child) You can't use the same JARs in runtime. permalink fedilink source parent hideshow 2 child comments replies: [–] huginn@feddit.it 0 points 3 years ago (1 child) You absolutely can pull the same jars into server and android projects. Sometimes you need a different one for Android to avoid NoClassDefFoundErrors but you're totally able to grab a jar and stick it directly into both sides. permalink fedilink source parent hideshow 2 child comments replies: [–] Aux@lemmy.world 0 points 3 years ago The hell are you even talking about? You can't even load a JAR file on Android. My god... permalink fedilink source parent [–] hark@lemmy.world 0 points 3 years ago Thou art wrong. permalink fedilink source parent [–] eek2121@lemmy.world 2 points 3 years ago (1 child) This is not true. See above. permalink fedilink source parent hideshow 2 child comments replies: [–] Aux@lemmy.world -4 points 3 years ago (1 child) It IS true! See the above indeed. In short - there's no Java anything during runtime and never was. permalink fedilink source parent hideshow 2 child comments replies: [–] tehcpengsiudai@lemmy.world [B] 1 point 3 years ago (1 child) How would you define what's "Java" then. The language used by source code, or the compiled bytecode, or the runtime? permalink fedilink source parent hideshow 2 child comments replies: [–] Aux@lemmy.world -4 points 3 years ago I don't define anything, there are Java standards which define source code, binary code and runtime behaviour compatibility. That makes it possible to run Java apps on non-Oracle JVMs, use non-Oracle tools, etc. Android doesn't have anything Java outside of source code. And even Java source code is not 100% compatible. It's just not Java at all and never was. You can't even use many open source Java libraries on Android because they are not Android compatible at the source level. permalink fedilink source parent
[–] huginn@feddit.it 4 points 3 years ago (1 child) ART? permalink fedilink source parent hideshow 2 child comments replies: [–] Aux@lemmy.world 0 points 3 years ago (2 children) ART what? permalink fedilink source parent hideshow 4 child comments replies: [–] huginn@feddit.it 4 points 3 years ago (1 child) ART is the equivalent of a JVM. It doesn't implement all the apis, the compiled bytecode differs, it's optimized for mobile but that doesn't make it not a JVM. That's why the NDK exists: so you can build and run C++ code natively. permalink fedilink source parent hideshow 2 child comments replies: [–] Aux@lemmy.world -5 points 3 years ago (1 child) Python VM is Java by your logic. If you don't understand IT, you shouldn't really talk on IT topics. permalink fedilink source parent hideshow 2 child comments replies: [–] huginn@feddit.it 2 points 3 years ago (1 child) I can use the exact same apache jars on my Android project and my Java server. That's not Python. That's very clearly java code. The implementation of the contract is different but that's not the same as not being Java. permalink fedilink source parent hideshow 2 child comments replies: [–] Aux@lemmy.world 1 point 3 years ago (1 child) You can't use the same JARs in runtime. permalink fedilink source parent hideshow 2 child comments replies: [–] huginn@feddit.it 0 points 3 years ago (1 child) You absolutely can pull the same jars into server and android projects. Sometimes you need a different one for Android to avoid NoClassDefFoundErrors but you're totally able to grab a jar and stick it directly into both sides. permalink fedilink source parent hideshow 2 child comments replies: [–] Aux@lemmy.world 0 points 3 years ago The hell are you even talking about? You can't even load a JAR file on Android. My god... permalink fedilink source parent [–] hark@lemmy.world 0 points 3 years ago Thou art wrong. permalink fedilink source parent
[–] Aux@lemmy.world 0 points 3 years ago (2 children) ART what? permalink fedilink source parent hideshow 4 child comments replies: [–] huginn@feddit.it 4 points 3 years ago (1 child) ART is the equivalent of a JVM. It doesn't implement all the apis, the compiled bytecode differs, it's optimized for mobile but that doesn't make it not a JVM. That's why the NDK exists: so you can build and run C++ code natively. permalink fedilink source parent hideshow 2 child comments replies: [–] Aux@lemmy.world -5 points 3 years ago (1 child) Python VM is Java by your logic. If you don't understand IT, you shouldn't really talk on IT topics. permalink fedilink source parent hideshow 2 child comments replies: [–] huginn@feddit.it 2 points 3 years ago (1 child) I can use the exact same apache jars on my Android project and my Java server. That's not Python. That's very clearly java code. The implementation of the contract is different but that's not the same as not being Java. permalink fedilink source parent hideshow 2 child comments replies: [–] Aux@lemmy.world 1 point 3 years ago (1 child) You can't use the same JARs in runtime. permalink fedilink source parent hideshow 2 child comments replies: [–] huginn@feddit.it 0 points 3 years ago (1 child) You absolutely can pull the same jars into server and android projects. Sometimes you need a different one for Android to avoid NoClassDefFoundErrors but you're totally able to grab a jar and stick it directly into both sides. permalink fedilink source parent hideshow 2 child comments replies: [–] Aux@lemmy.world 0 points 3 years ago The hell are you even talking about? You can't even load a JAR file on Android. My god... permalink fedilink source parent [–] hark@lemmy.world 0 points 3 years ago Thou art wrong. permalink fedilink source parent
[–] huginn@feddit.it 4 points 3 years ago (1 child) ART is the equivalent of a JVM. It doesn't implement all the apis, the compiled bytecode differs, it's optimized for mobile but that doesn't make it not a JVM. That's why the NDK exists: so you can build and run C++ code natively. permalink fedilink source parent hideshow 2 child comments replies: [–] Aux@lemmy.world -5 points 3 years ago (1 child) Python VM is Java by your logic. If you don't understand IT, you shouldn't really talk on IT topics. permalink fedilink source parent hideshow 2 child comments replies: [–] huginn@feddit.it 2 points 3 years ago (1 child) I can use the exact same apache jars on my Android project and my Java server. That's not Python. That's very clearly java code. The implementation of the contract is different but that's not the same as not being Java. permalink fedilink source parent hideshow 2 child comments replies: [–] Aux@lemmy.world 1 point 3 years ago (1 child) You can't use the same JARs in runtime. permalink fedilink source parent hideshow 2 child comments replies: [–] huginn@feddit.it 0 points 3 years ago (1 child) You absolutely can pull the same jars into server and android projects. Sometimes you need a different one for Android to avoid NoClassDefFoundErrors but you're totally able to grab a jar and stick it directly into both sides. permalink fedilink source parent hideshow 2 child comments replies: [–] Aux@lemmy.world 0 points 3 years ago The hell are you even talking about? You can't even load a JAR file on Android. My god... permalink fedilink source parent
[–] Aux@lemmy.world -5 points 3 years ago (1 child) Python VM is Java by your logic. If you don't understand IT, you shouldn't really talk on IT topics. permalink fedilink source parent hideshow 2 child comments replies: [–] huginn@feddit.it 2 points 3 years ago (1 child) I can use the exact same apache jars on my Android project and my Java server. That's not Python. That's very clearly java code. The implementation of the contract is different but that's not the same as not being Java. permalink fedilink source parent hideshow 2 child comments replies: [–] Aux@lemmy.world 1 point 3 years ago (1 child) You can't use the same JARs in runtime. permalink fedilink source parent hideshow 2 child comments replies: [–] huginn@feddit.it 0 points 3 years ago (1 child) You absolutely can pull the same jars into server and android projects. Sometimes you need a different one for Android to avoid NoClassDefFoundErrors but you're totally able to grab a jar and stick it directly into both sides. permalink fedilink source parent hideshow 2 child comments replies: [–] Aux@lemmy.world 0 points 3 years ago The hell are you even talking about? You can't even load a JAR file on Android. My god... permalink fedilink source parent
[–] huginn@feddit.it 2 points 3 years ago (1 child) I can use the exact same apache jars on my Android project and my Java server. That's not Python. That's very clearly java code. The implementation of the contract is different but that's not the same as not being Java. permalink fedilink source parent hideshow 2 child comments replies: [–] Aux@lemmy.world 1 point 3 years ago (1 child) You can't use the same JARs in runtime. permalink fedilink source parent hideshow 2 child comments replies: [–] huginn@feddit.it 0 points 3 years ago (1 child) You absolutely can pull the same jars into server and android projects. Sometimes you need a different one for Android to avoid NoClassDefFoundErrors but you're totally able to grab a jar and stick it directly into both sides. permalink fedilink source parent hideshow 2 child comments replies: [–] Aux@lemmy.world 0 points 3 years ago The hell are you even talking about? You can't even load a JAR file on Android. My god... permalink fedilink source parent
[–] Aux@lemmy.world 1 point 3 years ago (1 child) You can't use the same JARs in runtime. permalink fedilink source parent hideshow 2 child comments replies: [–] huginn@feddit.it 0 points 3 years ago (1 child) You absolutely can pull the same jars into server and android projects. Sometimes you need a different one for Android to avoid NoClassDefFoundErrors but you're totally able to grab a jar and stick it directly into both sides. permalink fedilink source parent hideshow 2 child comments replies: [–] Aux@lemmy.world 0 points 3 years ago The hell are you even talking about? You can't even load a JAR file on Android. My god... permalink fedilink source parent
[–] huginn@feddit.it 0 points 3 years ago (1 child) You absolutely can pull the same jars into server and android projects. Sometimes you need a different one for Android to avoid NoClassDefFoundErrors but you're totally able to grab a jar and stick it directly into both sides. permalink fedilink source parent hideshow 2 child comments replies: [–] Aux@lemmy.world 0 points 3 years ago The hell are you even talking about? You can't even load a JAR file on Android. My god... permalink fedilink source parent
[–] Aux@lemmy.world 0 points 3 years ago The hell are you even talking about? You can't even load a JAR file on Android. My god... permalink fedilink source parent
[–] eek2121@lemmy.world 2 points 3 years ago (1 child) This is not true. See above. permalink fedilink source parent hideshow 2 child comments replies: [–] Aux@lemmy.world -4 points 3 years ago (1 child) It IS true! See the above indeed. In short - there's no Java anything during runtime and never was. permalink fedilink source parent hideshow 2 child comments replies: [–] tehcpengsiudai@lemmy.world [B] 1 point 3 years ago (1 child) How would you define what's "Java" then. The language used by source code, or the compiled bytecode, or the runtime? permalink fedilink source parent hideshow 2 child comments replies: [–] Aux@lemmy.world -4 points 3 years ago I don't define anything, there are Java standards which define source code, binary code and runtime behaviour compatibility. That makes it possible to run Java apps on non-Oracle JVMs, use non-Oracle tools, etc. Android doesn't have anything Java outside of source code. And even Java source code is not 100% compatible. It's just not Java at all and never was. You can't even use many open source Java libraries on Android because they are not Android compatible at the source level. permalink fedilink source parent
[–] Aux@lemmy.world -4 points 3 years ago (1 child) It IS true! See the above indeed. In short - there's no Java anything during runtime and never was. permalink fedilink source parent hideshow 2 child comments replies: [–] tehcpengsiudai@lemmy.world [B] 1 point 3 years ago (1 child) How would you define what's "Java" then. The language used by source code, or the compiled bytecode, or the runtime? permalink fedilink source parent hideshow 2 child comments replies: [–] Aux@lemmy.world -4 points 3 years ago I don't define anything, there are Java standards which define source code, binary code and runtime behaviour compatibility. That makes it possible to run Java apps on non-Oracle JVMs, use non-Oracle tools, etc. Android doesn't have anything Java outside of source code. And even Java source code is not 100% compatible. It's just not Java at all and never was. You can't even use many open source Java libraries on Android because they are not Android compatible at the source level. permalink fedilink source parent
[–] tehcpengsiudai@lemmy.world [B] 1 point 3 years ago (1 child) How would you define what's "Java" then. The language used by source code, or the compiled bytecode, or the runtime? permalink fedilink source parent hideshow 2 child comments replies: [–] Aux@lemmy.world -4 points 3 years ago I don't define anything, there are Java standards which define source code, binary code and runtime behaviour compatibility. That makes it possible to run Java apps on non-Oracle JVMs, use non-Oracle tools, etc. Android doesn't have anything Java outside of source code. And even Java source code is not 100% compatible. It's just not Java at all and never was. You can't even use many open source Java libraries on Android because they are not Android compatible at the source level. permalink fedilink source parent
[–] Aux@lemmy.world -4 points 3 years ago I don't define anything, there are Java standards which define source code, binary code and runtime behaviour compatibility. That makes it possible to run Java apps on non-Oracle JVMs, use non-Oracle tools, etc. Android doesn't have anything Java outside of source code. And even Java source code is not 100% compatible. It's just not Java at all and never was. You can't even use many open source Java libraries on Android because they are not Android compatible at the source level. permalink fedilink source parent