ಫೋನ್ಗಳು ತಮ್ಮ ಸುಗಮ ಬಹುಕಾರ್ಯಕಕ್ಕೆ ಅಗತ್ಯವಿರುವ RAM ನ ಆದರ್ಶ ಪ್ರಮಾಣವು ಸಾಕಷ್ಟು ಚರ್ಚೆಯ ವಿಷಯವಾಗಿದೆ. ಆಪಲ್ ತನ್ನ ಐಫೋನ್ಗಳಲ್ಲಿ ಚಿಕ್ಕ ಗಾತ್ರದೊಂದಿಗೆ ಪಡೆಯುತ್ತದೆ, ಇದು ಹೆಚ್ಚಾಗಿ ಆಂಡ್ರಾಯ್ಡ್ ಪರಿಹಾರಗಳಿಗಿಂತ ಹೆಚ್ಚು ಬಳಸಬಹುದಾಗಿದೆ. ನೀವು ಐಫೋನ್ನಲ್ಲಿ ಯಾವುದೇ ರೀತಿಯ RAM ಮೆಮೊರಿ ನಿರ್ವಹಣೆಯನ್ನು ಸಹ ಕಾಣುವುದಿಲ್ಲ, ಆದರೆ ಇದಕ್ಕಾಗಿ ಆಂಡ್ರಾಯ್ಡ್ ತನ್ನದೇ ಆದ ಮೀಸಲಾದ ಕಾರ್ಯವನ್ನು ಹೊಂದಿದೆ.
ನೀವು ಹೋದರೆ, ಉದಾಹರಣೆಗೆ, Samsung Galaxy ಫೋನ್ಗಳಲ್ಲಿ ನಾಸ್ಟವೆನ್ -> ಸಾಧನ ಆರೈಕೆ, ಎಷ್ಟು ಸ್ಥಳಾವಕಾಶವಿದೆ ಮತ್ತು ಎಷ್ಟು ಆಕ್ರಮಿಸಿಕೊಂಡಿದೆ ಎಂಬ ಮಾಹಿತಿಯೊಂದಿಗೆ ನೀವು RAM ಸೂಚಕವನ್ನು ಇಲ್ಲಿ ಕಾಣಬಹುದು. ಮೆನುವಿನ ಮೇಲೆ ಕ್ಲಿಕ್ ಮಾಡಿದ ನಂತರ, ಪ್ರತಿ ಅಪ್ಲಿಕೇಶನ್ ಎಷ್ಟು ಮೆಮೊರಿಯನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತಿದೆ ಎಂಬುದನ್ನು ನೀವು ನೋಡಬಹುದು ಮತ್ತು ಇಲ್ಲಿ ಮೆಮೊರಿಯನ್ನು ತೆರವುಗೊಳಿಸುವ ಆಯ್ಕೆಯನ್ನು ಸಹ ನೀವು ಹೊಂದಿರುತ್ತೀರಿ. RAM ಪ್ಲಸ್ ಕಾರ್ಯವೂ ಇಲ್ಲಿ ಇದೆ. ಇದರ ಅರ್ಥವೇನೆಂದರೆ, ಇದು ಆಂತರಿಕ ಸಂಗ್ರಹಣೆಯಿಂದ ನಿರ್ದಿಷ್ಟ ಸಂಖ್ಯೆಯ GB ಅನ್ನು ಕಚ್ಚುತ್ತದೆ, ಇದು ವರ್ಚುವಲ್ ಮೆಮೊರಿಗಾಗಿ ಬಳಸುತ್ತದೆ. ಐಒಎಸ್ನಲ್ಲಿ ಈ ರೀತಿಯದನ್ನು ನೀವು ಊಹಿಸಬಹುದೇ?
ಸ್ಮಾರ್ಟ್ಫೋನ್ಗಳು RAM ಅನ್ನು ಅವಲಂಬಿಸಿವೆ. ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ ಅನ್ನು ಸಂಗ್ರಹಿಸಲು, ಅಪ್ಲಿಕೇಶನ್ಗಳನ್ನು ಪ್ರಾರಂಭಿಸಲು ಮತ್ತು ಅವರ ಕೆಲವು ಡೇಟಾವನ್ನು ಸಂಗ್ರಹ ಮತ್ತು ಬಫರ್ ಮೆಮೊರಿಯಲ್ಲಿ ಸಂಗ್ರಹಿಸಲು ಇದು ಅವರಿಗೆ ಸಹಾಯ ಮಾಡುತ್ತದೆ. ಹೀಗಾಗಿ, ನೀವು ಅವುಗಳನ್ನು ಹಿನ್ನೆಲೆಗೆ ಇಳಿಸಿದರೂ ಮತ್ತು ಸ್ವಲ್ಪ ಸಮಯದ ನಂತರ ಅವುಗಳನ್ನು ಮತ್ತೆ ತೆರೆದರೂ ಸಹ, ಅಪ್ಲಿಕೇಶನ್ಗಳು ಸುಗಮವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುವ ರೀತಿಯಲ್ಲಿ RAM ಅನ್ನು ಆಯೋಜಿಸಬೇಕು ಮತ್ತು ನಿರ್ವಹಿಸಬೇಕು.
ಸ್ವಿಫ್ಟ್ vs. ಜಾವಾ
ಆದರೆ ಹೊಸ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸುವಾಗ, ಅದನ್ನು ಲೋಡ್ ಮಾಡಲು ಮತ್ತು ಚಲಾಯಿಸಲು ನೀವು ಮೆಮೊರಿಯಲ್ಲಿ ಮುಕ್ತ ಸ್ಥಳವನ್ನು ಹೊಂದಿರಬೇಕು. ಹಾಗಾಗದಿದ್ದರೆ ಜಾಗ ಖಾಲಿ ಮಾಡಬೇಕು. ಆದ್ದರಿಂದ ಸಿಸ್ಟಮ್ ಈಗಾಗಲೇ ಪ್ರಾರಂಭವಾದ ಅಪ್ಲಿಕೇಶನ್ಗಳಂತಹ ಕೆಲವು ಚಾಲನೆಯಲ್ಲಿರುವ ಪ್ರಕ್ರಿಯೆಗಳನ್ನು ಬಲವಂತವಾಗಿ ಕೊನೆಗೊಳಿಸುತ್ತದೆ. ಆದಾಗ್ಯೂ, ಎರಡೂ ವ್ಯವಸ್ಥೆಗಳು, ಅಂದರೆ Android ಮತ್ತು iOS, RAM ನೊಂದಿಗೆ ವಿಭಿನ್ನವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತವೆ.
ಐಒಎಸ್ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ ಅನ್ನು ಸ್ವಿಫ್ಟ್ನಲ್ಲಿ ಬರೆಯಲಾಗಿದೆ ಮತ್ತು ಮುಚ್ಚಿದ ಅಪ್ಲಿಕೇಶನ್ಗಳಿಂದ ಬಳಸಿದ ಮೆಮೊರಿಯನ್ನು ಸಿಸ್ಟಮ್ಗೆ ಮರಳಿ ಮರುಬಳಕೆ ಮಾಡುವ ಅಗತ್ಯವಿಲ್ಲ. ಇದು ಐಒಎಸ್ ಅನ್ನು ನಿರ್ಮಿಸಿದ ವಿಧಾನದಿಂದಾಗಿ, ಏಕೆಂದರೆ ಆಪಲ್ ತನ್ನ ಐಫೋನ್ಗಳಲ್ಲಿ ಮಾತ್ರ ಕಾರ್ಯನಿರ್ವಹಿಸುವುದರಿಂದ ಅದರ ಮೇಲೆ ಸಂಪೂರ್ಣ ನಿಯಂತ್ರಣವನ್ನು ಹೊಂದಿದೆ. ಇದಕ್ಕೆ ವಿರುದ್ಧವಾಗಿ, ಆಂಡ್ರಾಯ್ಡ್ ಅನ್ನು ಜಾವಾದಲ್ಲಿ ಬರೆಯಲಾಗಿದೆ ಮತ್ತು ಅನೇಕ ಸಾಧನಗಳಲ್ಲಿ ಬಳಸಲಾಗುತ್ತದೆ, ಆದ್ದರಿಂದ ಇದು ಹೆಚ್ಚು ಸಾರ್ವತ್ರಿಕವಾಗಿರಬೇಕು. ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಕೊನೆಗೊಳಿಸಿದಾಗ, ಅದು ತೆಗೆದುಕೊಂಡ ಸ್ಥಳವನ್ನು ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ಗೆ ಹಿಂತಿರುಗಿಸಲಾಗುತ್ತದೆ.
ಸ್ಥಳೀಯ ಕೋಡ್ vs. JVM
ಡೆವಲಪರ್ ಐಒಎಸ್ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಬರೆದಾಗ, ಅವರು ಅದನ್ನು ನೇರವಾಗಿ ಐಫೋನ್ನ ಪ್ರೊಸೆಸರ್ನಲ್ಲಿ ರನ್ ಮಾಡಬಹುದಾದ ಕೋಡ್ಗೆ ಕಂಪೈಲ್ ಮಾಡುತ್ತಾರೆ. ಈ ಕೋಡ್ ಅನ್ನು ಸ್ಥಳೀಯ ಕೋಡ್ ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ ಏಕೆಂದರೆ ಇದು ರನ್ ಮಾಡಲು ಯಾವುದೇ ವ್ಯಾಖ್ಯಾನ ಅಥವಾ ವರ್ಚುವಲ್ ಪರಿಸರದ ಅಗತ್ಯವಿಲ್ಲ. ಮತ್ತೊಂದೆಡೆ, ಆಂಡ್ರಾಯ್ಡ್ ವಿಭಿನ್ನವಾಗಿದೆ. ಜಾವಾ ಕೋಡ್ ಅನ್ನು ಕಂಪೈಲ್ ಮಾಡಿದಾಗ, ಅದನ್ನು ಜಾವಾ ಬೈಟ್ಕೋಡ್ ಮಧ್ಯಂತರ ಕೋಡ್ಗೆ ಪರಿವರ್ತಿಸಲಾಗುತ್ತದೆ, ಇದು ಪ್ರೊಸೆಸರ್-ಸ್ವತಂತ್ರವಾಗಿದೆ. ಆದ್ದರಿಂದ ಇದು ವಿಭಿನ್ನ ಉತ್ಪಾದಕರಿಂದ ವಿಭಿನ್ನ ಪ್ರೊಸೆಸರ್ಗಳಲ್ಲಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ. ಕ್ರಾಸ್ ಪ್ಲಾಟ್ಫಾರ್ಮ್ ಹೊಂದಾಣಿಕೆಗೆ ಇದು ದೊಡ್ಡ ಪ್ರಯೋಜನಗಳನ್ನು ಹೊಂದಿದೆ.
ಸಹಜವಾಗಿ, ಒಂದು ತೊಂದರೆಯೂ ಇದೆ. ಪ್ರತಿಯೊಂದು ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ ಮತ್ತು ಪ್ರೊಸೆಸರ್ ಸಂಯೋಜನೆಗೆ ಜಾವಾ ವರ್ಚುವಲ್ ಮೆಷಿನ್ (ಜೆವಿಎಂ) ಎಂದು ಕರೆಯಲ್ಪಡುವ ಪರಿಸರದ ಅಗತ್ಯವಿದೆ. ಆದರೆ ಸ್ಥಳೀಯ ಕೋಡ್ JVM ಮೂಲಕ ಕಾರ್ಯಗತಗೊಳಿಸಲಾದ ಕೋಡ್ಗಿಂತ ಉತ್ತಮವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ, ಆದ್ದರಿಂದ JVM ಅನ್ನು ಬಳಸುವುದರಿಂದ ಅಪ್ಲಿಕೇಶನ್ ಬಳಸುವ RAM ನ ಪ್ರಮಾಣವನ್ನು ಹೆಚ್ಚಿಸುತ್ತದೆ. ಆದ್ದರಿಂದ iOS ಅಪ್ಲಿಕೇಶನ್ಗಳು ಕಡಿಮೆ ಮೆಮೊರಿಯನ್ನು ಬಳಸುತ್ತವೆ, ಸರಾಸರಿ 40%. ಅದಕ್ಕಾಗಿಯೇ ಆಪಲ್ ತನ್ನ ಐಫೋನ್ಗಳನ್ನು ಆಂಡ್ರಾಯ್ಡ್ ಸಾಧನಗಳೊಂದಿಗೆ ಮಾಡುವಷ್ಟು RAM ನೊಂದಿಗೆ ಸಜ್ಜುಗೊಳಿಸಬೇಕಾಗಿಲ್ಲ.
ನಾನು ನಿಖರವಾಗಿ ಪರಿಣಿತನಲ್ಲ, ಆದರೆ 15 ವರ್ಷಗಳಿಂದ Android ಅನ್ನು ಬಳಸುತ್ತಿರುವ ಮತ್ತು ಈಗ 2 ತಿಂಗಳುಗಳವರೆಗೆ iPhone 13 ಮಿನಿ ಬಳಕೆದಾರನ ದೃಷ್ಟಿಕೋನದಿಂದ ನನ್ನ ದೃಷ್ಟಿಕೋನವನ್ನು ವಿವರಿಸುತ್ತೇನೆ. 8GB ಮೆಮೊರಿ ಹೊಂದಿರುವ Android ನಲ್ಲಿ (ಇತ್ತೀಚೆಗೆ Samsung S21, Flip3) ನಾನು ಸಾಮಾನ್ಯವಾಗಿ ನಿರ್ದಿಷ್ಟ ಸಮಯದ ನಂತರ ಈ ಹಿಂದೆ ಪ್ರಾರಂಭಿಸಿದ ಅಪ್ಲಿಕೇಶನ್ಗೆ ಹಿಂತಿರುಗಿದೆ ಮತ್ತು ಅದು ಇನ್ನೂ RAM ನಲ್ಲಿ ಲೋಡ್ ಆಗಿರುತ್ತದೆ, ಆದ್ದರಿಂದ ಅದು ಮತ್ತೆ ಪ್ರಾರಂಭವಾಗಲಿಲ್ಲ ಮತ್ತು ನಾನು ಎಲ್ಲಿಂದ ಸರಾಗವಾಗಿ ತೆಗೆದುಕೊಳ್ಳಬಹುದು ಬಿಟ್ಟು ಹೋದ. ಮತ್ತೊಂದೆಡೆ, 8GB ಮೆಮೊರಿಯೊಂದಿಗೆ ಸಹ, RAM ಅನ್ನು ತೆರವುಗೊಳಿಸಲು ನಾನು ವಾರಕ್ಕೊಮ್ಮೆ ಎಲ್ಲಾ ಅಪ್ಲಿಕೇಶನ್ಗಳನ್ನು "ಶಾಟ್ ಡೌನ್" ಮಾಡಿದ್ದೇನೆ, ಏಕೆಂದರೆ ಸಿಸ್ಟಮ್ ಪೂರ್ಣ ಮೆಮೊರಿಯೊಂದಿಗೆ ನಿಧಾನಗೊಳ್ಳಲು ಪ್ರಾರಂಭಿಸಿತು. ಐಫೋನ್ನಲ್ಲಿ ನಿಧಾನವಾಗುವುದರಲ್ಲಿ ನನಗೆ ಸಮಸ್ಯೆ ಇಲ್ಲ, ಆದರೆ ಮತ್ತೊಂದೆಡೆ, ಬಹುತೇಕ ಒಂದೇ ರೀತಿಯ ಅಪ್ಲಿಕೇಶನ್ಗಳನ್ನು ಬಳಸುವಾಗ, ಇದಕ್ಕೆ ವಿರುದ್ಧವಾಗಿ, ನಾನು ಹಿಂದೆ ಪ್ರಾರಂಭಿಸಿದ ಅಪ್ಲಿಕೇಶನ್ಗೆ ಹಿಂತಿರುಗಿದಾಗ ಅದು ನಿಯಮಿತವಾಗಿ ನನಗೆ ಸಂಭವಿಸುತ್ತದೆ ಎಂದು ನಾನು ಹೇಳಲೇಬೇಕು. ಅದು ಮತ್ತೆ ಸಂಪೂರ್ಣವಾಗಿ ಲೋಡ್ ಆಗುತ್ತದೆ ಮತ್ತು ನಾನು ನಿಲ್ಲಿಸಿದ ಸ್ಥಳದಿಂದ ನನಗೆ ಸರಾಗವಾಗಿ ಮುಂದುವರಿಯಲು ಸಾಧ್ಯವಿಲ್ಲ.
ಯಾವ ಆಯ್ಕೆ ಉತ್ತಮವಾಗಿದೆ? ಹೇಳುವುದು ಕಷ್ಟ... Android ನಲ್ಲಿ ಅಪ್ಲಿಕೇಶನ್ಗಳನ್ನು ಕೊಲ್ಲುವುದು ಮತ್ತು RAM ಅನ್ನು ತೆರವುಗೊಳಿಸುವುದು ಎರಡು ಕ್ಲಿಕ್ಗಳ ವಿಷಯವಾಗಿದೆ. ಐಫೋನ್ನಲ್ಲಿ ಸಂಪೂರ್ಣ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಮತ್ತೆ ಲೋಡ್ ಮಾಡುವುದು ತುಂಬಾ ಸಮಯ ತೆಗೆದುಕೊಳ್ಳುವುದಿಲ್ಲ, ಆದ್ದರಿಂದ ಇದು ತುಂಬಾ ವಿಷಯವಲ್ಲ... ಸಹಜವಾಗಿ, ಐಫೋನ್ನಲ್ಲಿ ಹೆಚ್ಚಿನ RAM ಮತ್ತು ಆಂಡ್ರಾಯ್ಡ್ನಲ್ಲಿರುವಂತೆ ಬಹುಕಾರ್ಯಕವನ್ನು ಹೊಂದಲು ಇದು ಸೂಕ್ತವಾಗಿದೆ :-D
ಶಿಟ್, ಇದು ಮತ್ತೆ ಮೂರ್ಖತನ. ಒಂದು ವಿಷಯವೆಂದರೆ, ಜಾವಾದಲ್ಲಿ ಆಂಡ್ರಾಯ್ಡ್ ಅನ್ನು ಬಹಳ ಸಮಯದಿಂದ ಮಾಡಲಾಗಿಲ್ಲ, ಅದಕ್ಕಾಗಿಯೇ ಕೋಟ್ಲಿನ್. ಕಸ ಸಂಗ್ರಾಹಕವು ಮೆಮೊರಿಯ ಉಸ್ತುವಾರಿ ವಹಿಸುತ್ತದೆ, ಇದು ಐಒಎಸ್ನಲ್ಲಿ ಸರಳವಾಗಿದೆ, ಇದು ಅದರ ಅನಾನುಕೂಲತೆಗಳೊಂದಿಗೆ ಸಹ ಅಸ್ತಿತ್ವದಲ್ಲಿದೆ. ಇಡೀ ವಿಷಯವೆಂದರೆ ನೀವು ಅವುಗಳನ್ನು ಪರದೆಯಿಂದ ತೆಗೆದುಹಾಕಿದ ತಕ್ಷಣ iOS ಅಪ್ಲಿಕೇಶನ್ಗಳನ್ನು ಕೊಲ್ಲುತ್ತದೆ. ನೀವು ಪ್ರಕ್ರಿಯೆಯ ಕಿಲ್ ಪಿಡ್ ಅನ್ನು ಟೈಪ್ ಮಾಡಿದಾಗ ಲಿನಕ್ಸ್ನಲ್ಲಿರುವಂತೆಯೇ ಇದು ಮೆಮೊರಿಯನ್ನು ಮುಕ್ತಗೊಳಿಸುತ್ತದೆ. ಅದಕ್ಕಾಗಿಯೇ ಬ್ರೌಸರ್ ಅನ್ನು ತೆರೆಯಲು ಮತ್ತು ಹಿಂದಿನ ಕೆಲಸಕ್ಕೆ ಹಿಂತಿರುಗಲು ತುಂಬಾ ಸಮಯ ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ. ಈ ಲೇಖನವು ಯಾವುದೇ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಜ್ಞಾನವಿಲ್ಲದ iOS ಮತಾಂಧರಿಂದ X ವರ್ಷದ ಲೇಖನದ ಮೌಖಿಕ ಅನುವಾದವಾಗಿದೆ. ಹೌದು, ಸಹಜವಾಗಿ, ಮೆಮೊರಿ ನಿರ್ವಹಣೆಯು ಮುಖ್ಯವಾಗಿ ಪ್ರೋಗ್ರಾಮರ್ನ ಜವಾಬ್ದಾರಿಯಾಗಿದೆ, ಅಪ್ಲಿಕೇಶನ್ ಏನು ಮಾಡುತ್ತದೆ. ಅವನು ಅದರ ಮೇಲೆ ಕೆಮ್ಮಿದರೆ, ಜಗತ್ತಿನಲ್ಲಿ ಮೆಮೊರಿ ಲೀಕ್ ಇದೆ ಮತ್ತು pqk ನೀವು X Gb ಮೆಮೊರಿಯನ್ನು ಹೊಂದಬಹುದು ಮತ್ತು ಅದು ಇನ್ನೂ ನಿಷ್ಪ್ರಯೋಜಕವಾಗಿದೆ. ಮತ್ತು ಅನೇಕ ಅಪ್ಲಿಕೇಶನ್ಗಳು ವೆಬ್ವೀವ್ ಆಗಿರುವ ಸಮಯದಲ್ಲಿ, ಇದು ತುಂಬಾ ಸರಳವಾಗಿದೆ, ಏಕೆಂದರೆ ಅದು ಏನು ಮಾಡಬಹುದೋ ಅದನ್ನು ತಿನ್ನುತ್ತದೆ. ಲೇಖನವು ಅಸಂಬದ್ಧವಾಗಿದೆ, ಕಸ.
ಆಂಡ್ರಾಯ್ಡ್ ಇನ್ನು ಮುಂದೆ jvm ಅನ್ನು ಬಳಸುವುದಿಲ್ಲ, ಆದರೆ dvm. ಮತ್ತು ಹೆಚ್ಚುವರಿಯಾಗಿ, ಅದು ನಂತರ ಅದನ್ನು ಸ್ಥಳೀಯ ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದಂತೆ ಕಂಪೈಲ್ ಮಾಡುತ್ತದೆ
ಜಾವಾ ಇನ್ನೂ ಆಂಡ್ರಾಯ್ಡ್ನಲ್ಲಿದೆ.