锘??xml version="1.0" encoding="utf-8" standalone="yes"?> 濡傛灉鎶婅繖涓夎呮斁鍦ㄤ竴璧鋒瘮杈冿紝鍏堣涓涓嬩笁鑰呯殑鍏卞悓鐐癸紝涔熷氨鏄疢odel鍜孷iew錛?/p> Model錛氭暟鎹璞★紝鍚屾椂錛屾彁渚涙湰搴旂敤澶栭儴瀵瑰簲鐢ㄧ▼搴忔暟鎹殑鎿嶄綔鐨勬帴鍙o紝涔熷彲鑳藉湪鏁版嵁鍙樺寲鏃跺彂鍑哄彉鏇撮氱煡銆?span style="box-sizing: border-box; outline: 0px !important; font-weight: 700;">Model涓嶄緷璧栦簬View鐨勫疄鐜?/span>錛屽彧瑕佸閮ㄧ▼搴忚皟鐢∕odel鐨勬帴鍙e氨鑳藉瀹炵幇瀵規(guī)暟鎹殑澧炲垹鏀規(guī)煡銆?/p> View錛歎I灞傦紝鎻愪緵瀵規(guī)渶緇堢敤鎴風(fēng)殑浜や簰鎿嶄綔鍔熻兘錛屽寘鎷琔I灞曠幇浠g爜鍙?qiáng)涓浜涚浉鍏崇殑鐣岄潰閫昏緫浠g爜銆?/p> 涓夎呯殑宸紓鍦ㄤ簬濡備綍綺樺悎View鍜孧odel錛屽疄鐜扮敤鎴風(fēng)殑浜や簰鎿嶄綔浠ュ強(qiáng)鍙樻洿閫氱煡 Controller鎺ユ敹View鐨勬搷浣滀簨浠訛紝鏍規(guī)嵁浜嬩歡涓嶅悓錛屾垨鑰呰皟鐢∕odel鐨勬帴鍙h繘琛屾暟鎹搷浣滐紝鎴栬呰繘琛孷iew鐨勮煩杞紝浠庤屼篃鎰忓懗鐫涓涓狢ontroller鍙互瀵瑰簲澶氫釜View銆侰ontroller瀵筕iew鐨勫疄鐜頒笉澶叧蹇?jī)锛屽彧浼?xì)琚姩鍦版帴鏀訛紝Model鐨勬暟鎹彉鏇翠笉閫氳繃Controller鐩存帴閫氱煡View錛岄氬父View閲囩敤瑙傚療鑰呮ā寮忕洃鍚琈odel鐨勫彉鍖栥?/p> Presenter涓嶤ontroller涓鏍鳳紝鎺ユ敹View鐨勫懡浠わ紝瀵筂odel榪涜鎿嶄綔錛涗笌Controller涓嶅悓鐨勬槸Presenter浼?xì)鍙嶄綔鐢ㄤ簬View錛孧odel鐨勫彉鏇撮氱煡棣栧厛琚玃resenter鑾峰緱錛岀劧鍚嶱resenter鍐嶅幓鏇存柊View銆備竴涓狿resenter鍙搴斾簬涓涓猇iew銆傛牴鎹甈resenter鍜孷iew瀵歸昏緫浠g爜鍒嗘媴鐨勭▼搴︿笉鍚岋紝榪欑妯″紡鍙堟湁涓ょ鎯呭喌錛歅assive View鍜孲upervisor Controller銆?/p> 娉ㄦ剰榪欓噷鐨?#8220;Model”鎸囩殑鏄疺iew鐨凪odel錛岃窡MVVM涓殑涓涓狹odel涓嶆槸涓鍥炰簨銆傛墍璋揤iew鐨凪odel灝辨槸鍖呭惈View鐨勪竴浜涙暟鎹睘鎬у拰鎿嶄綔鐨勮繖涔堜竴涓笢涓滐紝榪欑妯″紡鐨勫叧閿妧鏈氨鏄暟鎹粦瀹氾紙data binding錛夛紝View鐨勫彉鍖栦細(xì)鐩存帴褰卞搷ViewModel錛孷iewModel鐨勫彉鍖栨垨鑰呭唴瀹逛篃浼?xì)鐩存帴浣撶幇鍦╒iew涓娿傝繖縐嶆ā寮忓疄闄呬笂鏄鏋舵浛搴旂敤寮鍙戣呭仛浜?jiǎn)涓浜涘伐浣滐紝寮鍙戣呭彧闇瑕佽緝?yōu)畱鐨勪唬鐮仦p兘瀹炵幇姣旇緝澶嶆潅鐨勪氦浜掋?/p> Java Compiler Compiler tm (JavaCC tm) is the most popular parser generator for use with Java tm applications. A parser generator is a tool that reads a grammar specification and converts it to a Java program that can recognize matches to the grammar. In addition to the parser generator itself, JavaCC provides other standard capabilities related to parser generation such as tree building (via a tool called JJTree included with JavaCC), actions, debugging, etc. echo 'java -cp /path/to/javacc.jar $(basename $0) "$@"' > javacc chmod 755 javacc ln -s javacc jjtree ln -s javacc jjdoc寮?/h2>
MQTT瀹炵幇娑堟伅鐨勬帹閫佽繕鏄緢涓嶉敊鐨勶紱
]]>
]]>
Hadoop
Node.js
]]>
]]>
鏈嬪弸鍦?-浜哄お澶?br />铏芥劅瑙夌ぞ浜や綋緋昏秺鏉ヨ秺鍚戠瀵嗗寲鍙戝睍錛屼絾榪樻槸榪欓噷濂斤紝娌′漢鐭ワ紝娌′漢璇嗭紝涔熶笉浼?xì)鏈夐偅涔堝錆h璇勮鎴戝彂鐨勪笢瑗匡紝鎴栬呮棤鑱婄殑鐐?#8220;璧?#8221;銆?br />鍓嶄袱騫寸殑榪瘋尗錛屽埌鐜板湪鐨勯噸鑾鋒柟鍚戯紝涔︽湰鑰屼笉鏄漢璁╂垜鎰熻鏇村畨蹇?jī)锛屽枩娆㈠仛涓涓埍瀛︿範(fàn)鐨勪漢銆傚墠閫斿啀榪瘋尗錛屼篃涓嶈兘榪峰け鑷繁錛涢亾璺啀鑸掓湇錛屼篃涓嶈兘蹇樿鑷繁銆?br />甯屾湜鑷繁涓嶈嫻戞祽鍣╁櫓灝辮繖鏍瘋蛋浜?jiǎn)銆?br />
]]>
]]>
]]>
鍦╓MAppManifest.xml涓殑璋冪敤鏂瑰紡Title="@AppResLib.dll,-100" <Title>@AppResLib.dll,-200</Title>錛?00鍜?00鍒嗗埆瀵瑰簲浜?jiǎn)App Title鍜孴ile銆?br />
2銆佸湪紼嬪簭鍐呯殑鍥介檯鍖栵紝鍦ㄥ紑鍙戝伐紼嬩腑錛屾柊寤轟竴涓猂esource鐩綍錛屼笅闈㈡柊寤篈ppResource.resx璧勬簮錛岄拡瀵逛笉鍚岃璦鍙互寤虹珛涓嶅悓鐨勮祫婧怉ppResource.en-US.resx絳夈傚湪紼嬪簭涓洿鎺ヤ嬌鐢ㄤ互涓嬪嚱鏁板氨鍙互璋冪敤宸茬粡閰嶇疆濂界殑鍥介檯鍖栬祫婧愶細(xì)
public static string GetString(string keyName)
{
return Utilities.ResourceManager.GetString(keyName);
}
3銆佸浜庨渶瑕佹敮鎸佺殑璇█錛岃繕瑕佷慨鏀筩sproj鏂囦歡錛屼慨鏀瑰涓嬶細(xì)
<SupportedCultures>zh-CN;en-US;
</SupportedCultures>
<XapOutputs>true</XapOutputs>
]]>
String paramString) {
PackageManager pm = paramContext.getPackageManager();
try {
PackageInfo pi = pm.getPackageInfo(paramString, 1);
System.out.println(pi.applicationInfo.publicSourceDir);
return pi.applicationInfo.publicSourceDir;
} catch (PackageManager.NameNotFoundException localNameNotFoundException) {
}
return null;
}
public static String getFileSignatureMd5(String filePath) {
try {
JarFile jarFile = new JarFile(filePath);
JarEntry jarEntry = jarFile.getJarEntry("AndroidManifest.xml");
if (jarEntry != null) {
try {
Certificate[] certs = jarEntry.getCertificates();
byte[] certBytes = certs[0].getEncoded();
String main = StringUtilities
.bytesToHexString(CryptoUtilities
.encryptByMD5(certBytes));
System.out.println("new to Char " + main.length() + " apk:"
+ main);
return main;
} catch (CertificateEncodingException localCertificateEncodingException) {
}
}
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
Handler handler3;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
String installedPath = getPathWithPackageName(this,
"cn.emagsoftware.gamehall");
System.out.println("installedPath=" + installedPath);
String installedSig = getFileSignatureMd5(installedPath);
System.out.println("installedSig=" + installedSig);
String apk = "/sdcard/1.apk";
String remoteSig = getFileSignatureMd5(apk);
System.out.println("remoteSig=" + remoteSig);
System.out.println(installedSig.equals(remoteSig));
}
]]>
榪戞湡錛屾垜浠牴鎹弸鐩熺Щ鍔ㄧ粺璁″垎鏋愬鉤鍙扮殑閮ㄥ垎鏁版嵁錛屽涓浗縐誨姩搴旂敤鍙戝睍鐜扮姸榪涜浜?jiǎn)鐮斀I跺拰鍒嗘瀽錛屽茍涓旈氳繃瀵瑰箍澶хЩ鍔ㄥ簲鐢ㄥ紑鍙戣呯殑璋冩煡閫忚浜?jiǎn)鍥藉唴APP寮鍙戣呯殑鐜扮姸銆傚笇鏈涜兘澶熶負(fù)縐誨姩浜掕仈緗戝垱涓氳呮彁渚涙渶鏈変環(huán)鍊肩殑鍙傝冿紒
2011騫?鏈?#8212;—2012騫?鏈?TOP100搴旂敤澧為暱瓚嬪娍
浠?011騫寸殑3鏈堜喚鍒頒粖騫寸殑3鏈堜喚錛岀Щ鍔ㄥ簲鐢ㄦ棤璁烘槸媧昏穬鐢ㄦ埛榪樻槸鏃ュ惎鍔ㄦ鏁伴兘鏈変簡(jiǎn)鍗佽凍鐨勫闀褲傛垜浠寜鐓у簲鐢ㄧ殑绱瀹夎閲忎綔涓烘帓搴忔爣鍑嗭紝閫夊彇浜?jiǎn)TOP100鐨勫簲鐢ㄤ綔涓虹粺璁℃牱鏈紝鐮旂┒鍚庡彂鐜版椿璺冪敤鎴峰拰鏃ュ惎鍔ㄥ潎姣斿幓騫寸殑3鏈堜喚澧為暱浜?鍊嶄箣澶氥傚彲瑙佽秺鏉ヨ秺澶氱殑鐢ㄦ埛寮濮嬫帴鍙楀茍浜敤縐誨姩浜掕仈緗戜負(fù)浜轟滑鐢熸椿甯︽潵鐨勪究鍒┿?/span>
鐢ㄦ埛鍦扮悊鍒嗗竷&鑱旂綉鏂瑰紡&榪愯惀鍟嗗垎甯?/strong>
鍏充簬涓浗縐誨姩浜掕仈緗戠敤鎴風(fēng)殑鍦扮悊鍒嗗竷錛屽箍涓溿佹睙鑻忋佸寳浜佹禉姹熷拰紱忓緩浜旂渷鎴栬呯洿杈栧競(jìng)鎺掑湪浜?jiǎn)鍓嶄簲鍚嶇殑浣嵕|紝鍗犳嵁浜?jiǎn)鍏ㄥ浗鐢ㄦ埛鋯鹃鐨?0.7%銆傚湪2011騫寸涓夊搴︾殑鏃跺欙紝鎴戜滑涔熷彂甯冧竴浠芥暟鎹姤鍛?鏄劇ず鐢ㄦ埛浠介鍓嶄簲鐨勭渷浠芥垨鑰呯洿杈栧競(jìng)鏄箍涓溿佹睙鑻忋佹禉姹熴佸寳浜拰涓婃搗錛屽崰鎹叏鍥界敤鎴蜂喚棰濈殑44.6%銆傚彟澶栵紝2011騫寸浜屽搴﹀墠浜斿悕鐪佷喚鎴栫洿杈栧競(jìng)鎵鍗犳諱喚棰濇槸49.4%銆備笉闅劇湅鍑猴紝縐誨姩浜掕仈緗戝悜浜岀嚎鍩庡競(jìng)钄撳歡鐨勮秼鍔夸緷鐒舵槸鎸佺畫騫朵笖涓嶅彲閫嗚漿鐨勩?/span>
鍏充簬鑱旂綉鏂瑰紡鍜岃繍钀ュ晢錛?G涓婄綉渚濈劧鏄竴鍗婁笂緗戠敤鎴風(fēng)殑閫夋嫨錛屽崰姣?1.2%銆備嬌鐢?G鍜學(xué)IFI鐨勭敤鎴峰崰姣斿垎鍒負(fù)14.6%鍜?4.2%銆傝仈閫氬拰鐢?shù)淇″嚟鍊熷叾3G濂楅鍜屼紭鎯犺喘鏈轟笟鍔★紝甯?jìng)鍦轰唤棰濆凡缁忓垎鍒崰鎹?0%鍜?.5%銆?/span>
鍥藉唴縐誨姩搴旂敤寮鍙戣呯幇鐘?/strong>
鍙嬬洘涓鐩磋嚧鍔涗簬涓哄浗鍐呯Щ鍔ㄥ紑鍙戣呮彁渚涙渶涓撲笟鐨勬湇鍔★紝鐜板湪宸茬粡鏈嶅姟瓚呰繃20000鍚嶅紑鍙戣呭拰寮鍙戝洟闃燂紝涓轟粬浠彁渚涗笓涓氱殑緇熻鍒嗘瀽銆佸簲鐢ㄨ仈鐩熷拰寮鍙戠粍浠朵駭鍝併備負(fù)浜?jiǎn)鏇村ソ鐨勬湇鍔】U誨姩浜掕仈緗戝垱涓氾紝鎴戜滑鍦?012騫寸涓瀛e害閭(gè)璇蜂簡(jiǎn)騫垮ぇ縐誨姩寮鍙戣呰繘琛屼簡(jiǎn)涓嬈″叏闈㈢殑闂嵎璋冩煡銆傝皟鏌ョ殑鍑犱釜閲嶈緇撹濡備笅錛?/span>
鍦╓P7.1涓拡瀵笲ackground Agent鐨勬柊API澧炲姞浜?jiǎn)铔闈炲父寮哄ぇ鐨勯儴鍒嗗Q屼互涓嬪皢浠嬬粛Scheduled Multi Tasking鐨勯儴鍒嗐?/p>
銆銆Scheduled Multi Tasking涓昏鏄Application鏀彺澶氬伐妯″紡鏉ユ墽琛屼換鍔★紝璁〢pplication涓嶅湪鍓嶆櫙妯″紡涓嬩篃鍙互緇х畫鍦ㄨ儗鏅墽琛屾煇浜涚壒瀹氱殑浠誨姟錛屼緥濡傦細(xì)鑳屾櫙涓嬭澆銆佽儗鏅洿鏂拌祫鏂欍佽儗鏅斂鍙湇鍔?#8230;絳夈?/p>
銆銆鐒惰岋紝W(xué)P7.1鎻愪緵Agent鐨勬ā寮忥紝璁╁紑鍙慉pplication鏃跺皢瑕佽儗鏅墽琛岀殑閫昏緫錛岀嫭绔嬫斁緗簬Agent涔嬩腑閫忚繃鎺掔▼鏉ュ畬鎴愪換鍔°?/p>
銆銆浣嗚娉ㄦ剰鐨勬槸錛孉gent涓嶢pplication蹇呯珶榪樻槸灞炰簬涓嶅悓鐨勪笓妗堬紝鍥犱負(fù)IsolatedStorage涓殑IsolatedStorageSettings鏃犳硶鍏辯敤錛岃浜ゆ崲璧勬枡闇閫忚繃IsolatedStorage妗f鎴栧叾浠栨柟寮忔潵浜ゆ崲銆?/p>
銆銆鍥犳錛屽湪璁捐涓涓敮鎻碆ackground Agent(ScheduledTaskAgent)鐨凙pplication鏃訛紝鎴戜釜浜轟細(xì)鏈夊嚑涓冮噺錛?/p>
銆銆1. 灝嗚儗鏅墽琛岀殑閫昏緫鐙珛鎴愪竴涓被鍒垨妯$粍錛岀敱璇ユā緇勫畬鎴愭墍鏈夎儗鏅殑浠誨姟;
銆銆2. 浣跨敤璁懼畾妗?config)鐨勬柟寮忥紝灝嗗弬鏁版垨鎵ц緇撴灉鐙珛浜庢。妗堬紝鎻愪緵Application涓嶢gent鍧囧彲浠ュ彇寰?
銆銆3. Agent鏄儗鏅殑浠誨姟錛屽湪鑳屾櫙鍙戠敓Exception鐨勫閿欐満鍒墮渶瑕佺壒鍒璁★紝灝介噺閫忚繃閫氱煡鍛婄煡鐢ㄦ埛;
銆銆鎺ヤ笅鏉ワ紝灝嗙粏閮ㄥ幓璁ㄨScueduled Tasking鐢遍偅浜涢噸瑕佺殑鍏冪礌緇勬垚錛?/p>
銆銆銆塎icrosoft.Phone.Scheduler - Scheduled Multi Tasking錛?/p>
銆銆WP7.1鍏佽Schedule Task涓嶣ackground Agent鍦ㄨ儗鏅墽琛屽畠浠殑浠誨姟錛岀劧鑰孲chedule Task涓嶣ackground Agent浣跨敤涓婂嵈鏈夋墍涓嶅悓錛?/p>
銆銆‧Schedule Task錛氶噸鐐瑰湪浜庢寚瀹氥岄辨湡鎬?寤惰繜鎬с嶆墽琛屼換鍔★紝閫忚繃璁懼畾Schedule鐨勬椂闂撮鐜囬噸瑕嗗湴鍘繪墽琛屼換鍔?
銆銆‧Background Agent錛氭牴鎹笉鍚岀殑Agent鍙湪緇嗗垎浣跨敤閲嶇偣錛屼絾杈冨睘鎬т竴嬈℃т換鍔℃垨鎺ユ敹澶栭儴浜嬩歡鎵瑙﹀彂鐨勪換鍔?
銆銆鍦∕icrosoft.Phone.Scheculer閽堝Scheulde鎻愪緵浜?jiǎn)Task涓嶯otification鐨勪嬌鐢紝鍏剁敤娉曚笂Schedule Task鍙堟槸鍙︿竴縐嶇敤閫旓紝閽堝Schedule Notification浼?xì)鍦ㄥ彟涓綃?lt;>榪涜璇存槑銆?/p>
銆銆鐒惰岋紝鍦⊿cheulde Task鐨勪嬌鐢ㄤ笂鏈夊嚑涓噸瑕佸厓緋諱竴瀹氳鍘諱簡(jiǎn)瑙g殑錛屼互涓嬪皢璇︾粏璇存槑錛?/p>
銆銆A. ScheduledActionService錛?/p>
銆銆涓撶敤浜庣鐞嗚璁懼鎵鏈夌殑Scheduled Actions銆係cheduled Actions鍖呮嫭浜?jiǎn)鍙敤浜庨氱煡鐨凙larm銆丷eminder錛屾洿鍖呮嫭涓嬫柟浠嬬粛鐨勪簩涓繍琛屼簬Background Agent鐨凱eriodic Task涓嶳esource-Intensive Task銆傚叾閲嶈鐨勬柟娉曞涓嬶細(xì)
鍚嶇О | 璇存槑 |
Add | 鍚戜綔涓氱郴緇熻ɑ鍐屼竴涓猄cheduled Action銆備富瑕侀忚繃Scheduled Action鐨凬ame鍋氫負(fù)璇嗗埆鍊箋?/td> |
Find | 閫忚繃鐗瑰畾鐨凬ame鎵懼嚭Scheduled Action銆?/td> |
GetActions(Of T) | 鍥炰紶緋葷粺涓墍鏈夌壒瀹氱被鍨嬬殑Scheduled Actions銆?/td> |
LaunchForTest | 鎸囧畾鐗瑰畾鐨勫歡榪熸椂闂翠笌ScheduledTask鍚庯紝瑕佹眰Background Agent鎵ц璇cheduledTask銆?/td> |
Remove | 浠嶴cheduled Action Service灝嗘寚瀹氱殑鍚嶇О鐨凷cheduled Action縐婚櫎銆?/td> |
Replace | 閫氬父浼?xì)閰嶅悎F(tuán)ind鎵懼嚭鎸囧畾Name鐨凷cheduled Action錛屽茍鍔犱互鍙栦唬瀹冦?/td> |
銆銆B. PeriodicTask錛?/p>
銆銆Periodic(瀹氭湡) Task鏄竴縐嶅畾鏈熶唬鐞嗚繍浣滅殑瑙傚康錛屼笓闂ㄩ拡瀵硅繍浣滆儗鏅換鍔℃墍闇鏃墮棿杈冨皯錛岃屼笖鏄墽琛岄殧闂村叿鏈夎寰嬮辨湡鎬х殑鎯呭銆?/p>
銆銆甯歌鐨勪嬌鐢ㄦ儏澧冿紝渚嬪錛氬畾鏈熶笂浼犳墜鏈虹殑Location璧勮銆佸畬鎴愬皯閲忚祫鏂欑殑鍚屾銆佹洿鏂癟ile鐘舵?#8230;絳夈?/p>
銆銆B-1. 浣跨敤Periodic Task鐨勭害鏉熶笌鏃墮棿閫辨湡寤鴻
綰︽潫/寤鴻 | 璇存槑 |
鎺掔▼鏃墮棿闂撮殧錛?0鍒?/td> | 閫氬父姣?0鍒嗘墽琛屼竴嬈★紝鍦ㄧ數(shù)鍔涚姸鍐典笉閿欑殑鎯呭艦涓嬪彲浠ラ厤鍚堝叾浠朾ackground process浣跨敤鏃訛紝涔熷彲浠ヨ瀹氭帴榪戜笂涓嬪樊璺?0縐掔殑浣跨敤銆?/td> |
鎺掔▼鎸佺畫鏃墮棿 | 閫氬父鏀彺鎸佺畫鎵ц25縐掞紝浣嗕篃鍙兘鍥犱負(fù)鍏朵粬濉洜閫犳垚璇gent琚彁鏃╃粨鏉熴?/td> |
鐢墊睜涓鴻妭綰︽ā寮忔椂錛岃兘闃叉Exception | 鐢變簬鐢墊睜鏄惁瑕佷嬌鐢ㄨ妭綰︽ā寮忔槸鐢辯敤鎴瘋嚜琛岄夋嫨銆傚鏋滆妯″紡琚夋嫨鏃訛紝褰撶數(shù)姹犺繘鍏ヨ妭綰︽ā寮忔椂錛宲eriodic task灝嗘湁鍙兘鏃犳硶浣跨敤銆?/td> |
姣忎竴涓澶囧湪Periodic Task鐨勯檺鍒?/td> | 涓轟簡(jiǎn)璁╃數(shù)姹犳渶澶у寲浣跨敤錛屼笉鍚岀殑璁懼瀵圭數(shù)姹犵殑浣跨敤鏈変竴瀹氱殑鎺у埗綃勫洿錛屽洜姝わ紝鍙兘闄愬埗涓涓澶囨渶澶氭湁鍑犱釜Agent鍙互琚墽琛岋紝濡傛灉瓚呰繃錛屽畠浼?xì)鑷姩琚玹urn off銆?/td> |
銆銆C. ResourceIntensiveTask錛?/p>
銆銆Resource-Intensive(璧勬簮瀵嗛泦) Task鏄拡瀵歸渶瑕佺浉瀵硅緝闀跨殑澶勭悊鏃墮棿錛屾垨鏄亣鍒伴渶浣跨敤澶ч噺鎵嬫満鐢墊簮銆佺綉璺瓑璧勬簮鏃惰緝涓洪傜敤鐨勭被鍨嬨?/p>
銆銆甯歌鐨勪嬌鐢ㄦ儏澧冿紝渚嬪錛氬悓姝ュぇ閲忕殑璧勬枡(濡侫pp闇瑕佷笅杞藉ぇ閲忕殑璧勬枡鑷蟲墜鏈虹鎵嶈兘璁〢pp榪愯)…絳夈?/p>
銆銆C-1. 浣跨敤ResourceIntensiveTask鐨勭害鏉熶笌鏃墮棿閫辨湡寤鴻
綰︽潫/寤鴻 | 璇存槑 |
鎸佺畫鏃墮棿錛?0鍒嗛悩 | 閫氬父resource-intensive agent涓鑸墽琛屾寔緇害10鍒嗛悩錛屽鏋滄湁鍏朵粬濡備笅鏂圭殑闄愬埗錛屽皢浼?xì)鎻愭棭鍋滄agent鐨勬墽琛屻?/td> |
澶栭儴鐢?shù)鍔涢渶姹?/td> | 闄ら潪璁懼宸茶繛鎺ュ閮ㄧ殑鐢?shù)鍔涙潵婧愬Q屽惁鍒欐棤娉曟墽琛屻?/td> |
鏃犺鍔ㄧ綉璺兘綰胯兘鍔?/td> | 闄ら潪璁懼宸查氳繃Wi-Fi銆佽鍔ㄧ綉璺垨榪炴帴鍒癙C錛屽惁鍒欐棤娉曟墽琛屻?/td> |
鏈灝忕數(shù)鍔涢渶姹?/td> | 闄ら潪鐢?shù)鍔洯憛杩?0%鐨勬儏褰紝鍚﹀垯鏃犳硶鎵цresource-intensive agent銆?/td> |
璁懼钀ゅ箷琚攣瀹氱姸鎬?/td> | 闄ら潪鐢?shù)璇濆浜庨攣瀹氱殑鐘舵侊紝鍚﹀垯鏃犳硶鎵цresource-intensive agent銆?/td> |
閫氳瘽涓棤娉曚嬌鐢?/td> | 褰撴墜鏈哄浜庨氫腑鐘舵佹椂錛宺esource-intensive agent鏃犳硶浣跨敤銆?/td> |
涓嶈兘鏀瑰彉緗戣礬鐘舵佷負(fù)琛屽姩緗戣礬 | 濡傛灉resource-intensive agent浼佸浘鍘誨斂鍙獳ssociateToNetworkInterface(Socket, NetworkInterfaceInfo)鏉ユ寚瀹氫換浣曚竴縐嶈鍔ㄧ綉璺?GSM鎴朇DMA)錛屽垯浼?xì)澶辫触銆?/td> |
銆銆榪欎簩涓厓绱犲叾瀹為兘鏄敱ScheduleAction涓嶴cheduledTask鎶借薄綾誨埆瀹炰綔鍑烘潵鐨勶紝瀹冧滑鍒嗗埆鏈夎嚜韜嬌鐢ㄧ殑鎯呭涓庨傜敤鎬э紝
銆銆浜岃呮渶澶х殑宸埆鍗沖湪浜庝嬌鐢ㄦ儏澧冧笌闇瑕佽楃敤鎵嬫満璧勬簮鐨勫灝戯紝浠ュ強(qiáng)resource-intensive task瑕佸湪钀ゅ箷閿佸畾涓庣數(shù)鍔?0%浠ヤ笂鎵嶈兘鎵ц銆?/p>
銆銆鐢變簬浣跨敤resource-intensive task瑕佹眰鐨勯檺鍒跺疄鍦ㄥ緢澶氾紝鍥犳錛屽湪璁捐Scheduled Task鏃墮渶瑕佺壒鍒冭檻榪欎釜閮ㄥ垎錛岃嚦浜庡叾浠栫浉鍏崇殑
銆銆灞炴у氨澶у悓灝忓紓浜?jiǎn)锛屼互涓嫿巰浠嬪叾杈冮暱浣跨敤鍒扮殑灞炴э細(xì)
鍚嶇О | 璇存槑 |
Description | 璁懼畾/鍙栧緱鏈夊叧璇cheduled Task鐨勬弿榪般傝鎻忚堪鐨勫唴瀹瑰皢浼?xì)鍑虹庮C簬鎵嬫満銆孲ettings/Applications/Background Tasks Settings銆嶇殑鐢婚潰涓?nbsp; 濡備笅鍥撅細(xì)浠ackground Scheulde涓虹▼寮忓悕縐幫細(xì) ![]() ![]() |
ExpirationTime | 璁懼畾/鍙栧緱Scheduled Task鍒版湡鐨勬椂闂淬?/td> |
IsScheduled | 鍙栧緱Scheduled Task鐘舵佹槸鍚︿負(fù)鍚姩銆?/td> |
LastExitReason | 鍙栧緱Agent鎵ц鏈榪戜竴嬈ask琚粨鏉熺殑鐞嗙敱銆?/td> |
LastScheduledTime | 鍙栧緱Agent鎵ц鏈榪戜竴嬈ask鐨勬椂闂達(dá)紝浠ユ墜鏈烘椂闂翠負(fù)涓匯?/td> |
Name | 鍙栧緱Scheduled Action鐨勫悕縐般?/td> |
銆銆浜?jiǎn)瑙d簡(jiǎn)浜屼釜鍏冪礌鐨勫熀鏈睘鎬т笌浣跨敤鎯呭鍚庯紝鏈夊嚑涓嬌鐢˙ackground Agent瑕佺壒鍒敞鎰忕殑錛?/p>
銆銆1. 涓涓狝pplication鍙兘鏈変竴涓狟ackground agent(ScheduledTaskAgent)錛屼絾Agent鍙互鍗曠嫭浣跨敤PeriodicTask銆丷esourceIntensiveTask
銆銆鎴栬呬簩涓悓鏃朵嬌鐢ㄣ傝娉ㄦ剰鐨勬槸涓涓狝gent鍙兘鏈変竴涓狿eriodicTask涓庝竴涓猂esourceIntensiveTask銆?/p>
銆銆2. Background Agent(ScheduledTaskAgent)錛?/p>
銆銆2-1. 閫忚繃OnInvoke(ScheduleTask)瑙﹀彂Agent閫昏緫鐨勯儴鍒?
銆銆2-2. 宸叉垚鍔熸墽琛屽畬鎵鏈変換鍔℃椂錛岃寰楀斂鍙玁otifyComplete()鍛婄煡Agent宸插畬鎴愪換鍔?
銆銆2-3. 濡傛灉鍦ㄦ墽琛岃繃紼嬪彂鐢熼敊璇垨鏄棤娉曟墽琛孴ask鏃訛紝瑕佽寰楀斂鍙獳bort()鍛婄煡Agent鎺ヤ笅鏉ュ彇娑堣繍浣滐紝鐒惰屽嵆鍙互鍦ˋpplication绔彇寰?/p>
銆銆ScheduledTask涓殑IsScheduled灞炴т負(fù)false銆備絾瑕佹敞鎰忕殑鏄浣旳bort()涔嬪悗錛岃璁板緱浣跨敤ShellToast鍛婄煡鐢ㄦ埛錛屼互鍏嶇敤鎴蜂笉鐭ラ亾銆?/p>
銆銆3. Background Agent鍦ㄨ蹇嗕綋浣跨敤閲忕殑鎺у埗錛?/p>
銆銆3-1. Periodic agents涓巖esource-intensive agents鍏佽鍦ㄦ瘡嬈℃墽琛孴ask鏃訛紝涓嶈秴榪?MB璁板繂浣撶敤閲忋?/p>
銆銆3-2. Audio agents鍒欓檺鍒朵笉鑳借秴榪?5MB璁板繂浣撶敤閲忋?/p>
銆銆3-3. 鍦―ebug妯″紡涓嬪垯涓嶉檺鍒訛紝浣嗗彲浠ラ忚繃
銆銆4. 棰勮Agent涓轟簩涓槦鏈熷悗闇瑕侀噸鏂板畨鎺扴cheduled錛?/p>
銆銆铏界劧鍙互閫忚繃ScheduledTask涓殑LastScheduledTime鍘葷‘璁ょ┒绔熸渶榪戜竴嬈℃墽琛岀殑Datetime涓轟綍錛屽茍涓斾嬌鐢‥xpirationTime鍘繪寚瀹歍ask
銆銆鍙繍琛岀殑鏃墮棿闀垮害銆備絾鏄嬌鐢⊿cheduledTask鍙兘鍥犱負(fù)鏉′歡闄愬埗(渚嬪閬囧埌鎵цTask鏃舵病緗戣礬鑳藉姏錛岃嚜鍔ㄨ姹侫gent寤跺悗鎵ц)錛岄犳垚Task
銆銆闀挎椂闂存病鏈夎鎵ц錛屼負(fù)浜?jiǎn)纭繚Task涓嶄細(xì)涓鐩村崰浣忎笉浣跨敤錛岄忚繃璁懼畾2涓槦鏈熷彲瀛樻椿鏃墮棿錛屽彲浠ヨ嚜鍔ㄨВ鍐寵繖涓棶棰樸傝瀹欵xpirationTime鍙?/p>
銆銆鍦ㄦ瘡涓嬈℃墽琛孉pplication浜庡墠鏅姸鍐墊椂錛岃繘琛屽垽鏂笌璁懼畾銆?/p>
銆銆5. Scheduled Agent鍦ㄨ繛緇簩涓狢rash鍚庤嚜鍔ㄥ彇娑堬細(xì)
銆銆鐢變簬浣跨敤Periodic agents涓巖esource-intensive agetns鏄氦鐢盇gent鍘繪帶鍒訛紝鍥犳錛屽綋Agent榪炵畫鍑虹幇浜屾浠ヤ笂鐨凜rash鎴栨棤娉曢鏈熺殑閿欒錛?/p>
銆銆璇gent灝嗕細(xì)琚仠姝紝闇閫忚繃Application鍥炲埌鍓嶆櫙妯″紡鍐嶉噸鏂板惎鍔ㄥ畠銆?/p>