මෙය අවසානයේදී ඔබේ ප්රශ්නයට යොමු වනු ඇත, නමුත් මෙම ලිවීමේ අවස්ථාවේදී දැනටමත් ලබා දී ඇති විවිධ පිළිතුරු සඳහා ඔබේ විවිධ අදහස් දැක්වීමේදී ඔබ මතු කරන ගැටළු ගණනාවක් විසඳීමට මට අවශ්යය. ඔබේ අදහස වෙනස් කිරීමට මට කිසිදු අදහසක් නැත - ඒ වෙනුවට, අනාගතයේදී මෙම ලිපිය කියවීමට පැමිණෙන අනෙක් අය සඳහා මේවා මෙහි ඇත.
කාරණය වන්නේ මගේ යෙදුම අවසන් වන්නේ කවදාද යන්න තීරණය කිරීමට ඇන්ඩ්රොයිඩ් සඳහා මට ඉඩ දිය නොහැකි වීමයි. එය පරිශීලකයාගේ තේරීම විය යුතුය.
පරිසරය විසින් අවශ්ය පරිදි යෙදුම වසා දැමූ ආකෘතිය ගැන මිලියන සංඛ්යාත ජනතාවක් පරිපූර්ණ ලෙස සතුටු වෙති. එම පරිශීලකයින් වෙබ් පිටුවක් "අවසන් කිරීම" හෝ තාප ස්ථායයක් "අවසන් කිරීම" ගැන සිතනවාට වඩා ඇන්ඩ්රොයිඩ් යෙදුම "අවසන් කිරීම" ගැන සිතන්නේ නැත.
අයිෆෝන් භාවිතා කරන්නන් බොහෝ දුරට එක හා සමානයි, ඒ තුළ අයිෆෝන් බොත්තම එබීමෙන් යෙදුම අවසන් වූ බවක් දැනෙන්නේ නැත, මන්ද බොහෝ අයිෆෝන් යෙදුම් පරිශීලකයා නතර කළ තැනට පැමිණේ, යෙදුම සැබවින්ම වසා දමා තිබුණද (අයිෆෝන් පමණක් බැවින්) දැනට එක් තෙවන පාර්ශවීය යෙදුමකට ඉඩ දෙයි).
මා ඉහත කී පරිදි, මගේ යෙදුමේ බොහෝ දේ සිදුවෙමින් පවතී (දත්ත උපාංගයට තල්ලු කිරීම, සැමවිටම තිබිය යුතු කාර්යයන් සහිත ලැයිස්තු ආදිය).
"සෑම විටම තිබිය යුතු කාර්යයන් සහිත ලැයිස්තු" යන්නෙන් අදහස් කරන්නේ කුමක්දැයි මම නොදනිමි, නමුත් "උපාංගයට තල්ලු කරන ලද දත්ත" ප්රසන්න ප්රබන්ධයක් වන අතර එය කිසිසේත් ක්රියාකාරකමක් මගින් නොකළ යුතුය. AlarmManager
උපරිම විශ්වසනීයත්වය සඳහා ඔබේ දත්ත යාවත්කාලීන කිරීමට නියමිත කාර්යයක් (හරහා ) භාවිතා කරන්න .
අපගේ පරිශීලකයින් ලොග් වී ඇති අතර ඔවුන්ට දුරකථන ඇමතුමක් ලැබෙන සෑම අවස්ථාවකම එය කළ නොහැක සහ ඇන්ඩ්රොයිඩ් යෙදුම විනාශ කිරීමට තීරණය කරයි.
මේ සම්බන්ධයෙන් කටයුතු කරන බොහෝ iPhone සහ Android යෙදුම් තිබේ. සාමාන්යයෙන්, ඔවුන් සෑම විටම අතින් පිවිසීමට බල කරනවාට වඩා, ඔවුන් ලොගොන් අක්තපත්ර රඳවාගෙන සිටින නිසාය.
උදාහරණයක් ලෙස, යෙදුමෙන් පිටවන විට යාවත්කාලීන කිරීම් පරීක්ෂා කිරීමට අපට අවශ්යය
එය ඕනෑම මෙහෙයුම් පද්ධතියක වැරැද්දකි. ඔබ දන්නා සියල්ලටම, ඔබගේ යෙදුම "පිටවීමට" හේතුව මෙහෙයුම් පද්ධතිය වසා දැමීමයි, එවිට ඔබගේ යාවත්කාලීන ක්රියාවලිය මැද ධාරාව අසාර්ථක වනු ඇත. සාමාන්යයෙන්, එය හොඳ දෙයක් නොවේ. එක්කෝ ආරම්භයේ යාවත්කාලීනයන් පරීක්ෂා කරන්න හෝ යාවත්කාලීනයන් මුළුමනින්ම අසමමුහුර්තව පරීක්ෂා කරන්න (උදා: නියමිත කාර්යයක් හරහා), කිසි විටෙකත් පිටවීමකින් තොරව.
සමහර අදහස් දැක්වෙන්නේ පසුපස බොත්තම එබීමෙන් යෙදුම කිසිසේත් විනාශ නොවන බවයි (ඉහත මගේ ප්රශ්නයේ සබැඳිය බලන්න).
BACK බොත්තම එබීමෙන් "යෙදුම විනාශ නොවේ". පරිශීලකයා BACK බොත්තම එබූ විට තිරයේ තිබූ ක්රියාකාරකම් එය අවසන් කරයි.
එය අවසන් කළ යුත්තේ පරිශීලකයන්ට එය අවසන් කිරීමට අවශ්ය වූ විට පමණි - කිසි විටෙකත් වෙනත් ආකාරයකින්. ඔබට ඇන්ඩ්රොයිඩ් වල හැසිරෙන යෙදුම් ලිවිය නොහැකි නම්, සැබෑ යෙදුම් ලිවීම සඳහා ඇන්ඩ්රොයිඩ් භාවිතා කළ නොහැකි යැයි මම සිතමි = (
එවිට වෙබ් යෙදුම් ද කළ නොහැක. හෝ WebOS , මම ඔවුන්ගේ ආකෘතිය නිවැරදිව තේරුම් ගන්නේ නම් (තවම එකක් සමඟ සෙල්ලම් කිරීමට අවස්ථාවක් ලැබී නැත). මේ සියල්ලෙහිම, පරිශීලකයින් කිසිවක් "අවසන්" නොකරයි - ඔවුන් ඉවත්ව යයි. අයිෆෝන් ටිකක් වෙනස් ය, එය දැනට එක් දෙයකට වරකට ධාවනය කිරීමට ඉඩ දී ඇත (ව්යතිරේක කිහිපයක් සමඟ), එබැවින් ඉවත්ව යාමේ ක්රියාවෙන් ඇඟවෙන්නේ යෙදුම තරමක් ඉක්මණින් අවසන් වන බවයි.
යෙදුමෙන් ඉවත් වීමට මට ක්රමයක් තිබේද?
අනෙක් සියල්ලන්ම ඔබට පැවසූ පරිදි, පරිශීලකයින්ට (පසුපසට) හෝ ඔබේ කේතය (හරහා finish()
) ඔබගේ දැනට ක්රියාත්මක වන ක්රියාකාරකම් වසා දැමිය හැකිය. වෙබ් යෙදුම් භාවිතා කිරීම සඳහා "ඉවත්වීම" විකල්පයක් අවශ්ය වනවාට වඩා, පරිශීලකයින්ට සාමාන්යයෙන් වෙනත් කිසිවක් අවශ්ය නොවේ.
නිර්වචනය අනුව යෙදුම් පරිසර දෙකක් සමාන නොවේ. මෙයින් අදහස් කරන්නේ නව ඒවා පැනනගින විට සහ අනෙක් ඒවා වළලනු ලබන විට පරිසරයේ ප්රවණතා ඔබට දැකගත හැකි බවයි.
උදාහරණයක් ලෙස, "ගොනුව" යන සංකල්පය තුරන් කිරීමට උත්සාහ කිරීම සඳහා වැඩෙන ව්යාපාරයක් පවතී. බොහෝ වෙබ් යෙදුම් පරිශීලකයින්ට ලිපිගොනු ගැන සිතීමට බල නොකරයි. අයිෆෝන් යෙදුම් සාමාන්යයෙන් පරිශීලකයින්ට ලිපිගොනු ගැන සිතීමට බල නොකරයි. ඇන්ඩ්රොයිඩ් යෙදුම් සාමාන්යයෙන් පරිශීලකයින්ට ලිපිගොනු ගැන සිතීමට බල නොකරයි. සහ යනාදි.
ඒ හා සමානව, යෙදුමක් "අවසන් කිරීම" යන සංකල්පය තුරන් කිරීමට උත්සාහ කිරීම සඳහා වැඩෙන ව්යාපාරයක් තිබේ. බොහෝ වෙබ් යෙදුම් පරිශීලකයාට වරනය වීමට බල නොකරයි, නමුත් අක්රිය කාලයකට පසුව පරිශීලකයා ව්යංගයෙන් ඉවත් කරයි. ඇන්ඩ්රොයිඩ් සමඟ එකම දේ, සහ තරමක් දුරට, අයිෆෝන් (සහ සමහර විට වෙබ්ඕඑස්).
මේ සඳහා යෙදුම් සැලසුම කෙරෙහි වැඩි අවධානයක් යොමු කිරීම, ව්යාපාර අරමුණු කෙරෙහි අවධානය යොමු කිරීම සහ පෙර යෙදුම් පරිසරයකට බැඳී ඇති ක්රියාත්මක කිරීමේ ආකෘතියක් සමඟ බැඳී නොසිටීම අවශ්ය වේ. මෙය කිරීමට කාලය හෝ නැඹුරුවක් නොමැති සංවර්ධකයින් ඔවුන්ගේ පවත්නා මානසික ආකෘතිය බිඳ දැමූ නව පරිසරයන් ගැන කලකිරීමට පත් වනු ඇත. මෙය එක් පරිසරයකම වරදක් නොවේ, එය කන්දක් හරහා ගලා බසින කුණාටුවකට වඩා එය වටා ගලා බසින වරදකි.
නිදසුනක් ලෙස, හයිපර්කාඩ් සහ ස්මාල්ටෝක් වැනි සමහර සංවර්ධන පරිසරයන්හි යෙදුම සහ සංවර්ධන මෙවලම් එක් සැකසුමක දී එකට බැඳී ඇත. මෙම සංකල්පය යෙදුම් සඳහා භාෂා දිගුවන් බොහෝ, පිටත අල්ලා නැත (උදා: VBA දී එක්සෙල් , ළිස්ප් AUTOCAD පිළිබද ). යෙදුම තුළම සංවර්ධන මෙවලම් පවතින බව අනුමාන කරන මානසික ආකෘති ඉදිරිපත් කළ සංවර්ධකයින්ට, එබැවින්, ඔවුන්ගේ ආකෘතිය වෙනස් කිරීමට හෝ ඔවුන්ගේ ආකෘතිය සැබෑවක් වන පරිසරයන්ට සීමා වීමට සිදු විය.
එබැවින්, ඔබ ලියන විට:
මම සොයාගත් වෙනත් අවුල් සහගත දේවල් සමඟ, ඇන්ඩ්රොයිඩ් සඳහා අපගේ යෙදුම සංවර්ධනය කිරීම සිදු නොවනු ඇතැයි මම සිතමි.
එය දැනට ඔබට හොඳම දේ ලෙස පෙනේ. ඒ හා සමානව, ඔබේ යෙදුම වෙබයට ගෙනයාමට උත්සාහ නොකිරීමට මම ඔබට උපදෙස් දෙමි, මන්ද ඔබ ඇන්ඩ්රොයිඩ් සමඟ වාර්තා කර ඇති ගැටළු කිහිපයක්ම වෙබ් යෙදුම්වලද ඔබට පෙනෙනු ඇත (උදා: "අවසන් කිරීම" නැත). හෝ, අනෙක් අතට, ඔබ යම් දවසක නම් කරන්න වෙබ් කිරීමට වරාය ඔබගේ යෙදුම, ඔබ වෙබ් යෙදුමේ ගලා Android සඳහා වඩා හොඳ තරගයක් විය හැකි අතර ඔබට ඒ කාලයේ ඇන්ඩ්රොයිඩ් වරාය නැවත නැවත ඒකම හැකි බව විය හැක.