鍦╓P7.1涓拡瀵笲ackground Agent鐨勬柊API澧炲姞浜嗚洰澶氶潪甯稿己澶х殑閮ㄥ垎錛屼互涓嬪皢浠嬬粛Scheduled Multi Tasking鐨勯儴鍒嗐?/p>
銆銆Scheduled Multi Tasking涓昏鏄Application鏀彺澶氬伐妯″紡鏉ユ墽琛屼換鍔★紝璁〢pplication涓嶅湪鍓嶆櫙妯″紡涓嬩篃鍙互緇х畫鍦ㄨ儗鏅墽琛屾煇浜涚壒瀹氱殑浠誨姟錛屼緥濡傦細鑳屾櫙涓嬭澆銆佽儗鏅洿鏂拌祫鏂欍佽儗鏅斂鍙湇鍔?#8230;絳夈?/p>
銆銆鐒惰岋紝WP7.1鎻愪緵Agent鐨勬ā寮忥紝璁╁紑鍙慉pplication鏃跺皢瑕佽儗鏅墽琛岀殑閫昏緫錛岀嫭绔嬫斁緗簬Agent涔嬩腑閫忚繃鎺掔▼鏉ュ畬鎴愪換鍔°?/p>
銆銆浣嗚娉ㄦ剰鐨勬槸錛孉gent涓嶢pplication蹇呯珶榪樻槸灞炰簬涓嶅悓鐨勪笓妗堬紝鍥犱負IsolatedStorage涓殑IsolatedStorageSettings鏃犳硶鍏辯敤錛岃浜ゆ崲璧勬枡闇閫忚繃IsolatedStorage妗f鎴栧叾浠栨柟寮忔潵浜ゆ崲銆?/p>
銆銆鍥犳錛屽湪璁捐涓涓敮鎻碆ackground Agent(ScheduledTaskAgent)鐨凙pplication鏃訛紝鎴戜釜浜轟細鏈夊嚑涓冮噺錛?/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鎻愪緵浜員ask涓嶯otification鐨勪嬌鐢紝鍏剁敤娉曚笂Schedule Task鍙堟槸鍙︿竴縐嶇敤閫旓紝閽堝Schedule Notification浼氬湪鍙︿竴綃?lt;>榪涜璇存槑銆?/p>
銆銆鐒惰岋紝鍦⊿cheulde Task鐨勪嬌鐢ㄤ笂鏈夊嚑涓噸瑕佸厓緋諱竴瀹氳鍘諱簡瑙g殑錛屼互涓嬪皢璇︾粏璇存槑錛?/p>
銆銆A. ScheduledActionService錛?/p>
銆銆涓撶敤浜庣鐞嗚璁懼鎵鏈夌殑Scheduled Actions銆係cheduled Actions鍖呮嫭浜嗗彲鐢ㄤ簬閫氱煡鐨凙larm銆丷eminder錛屾洿鍖呮嫭涓嬫柟浠嬬粛鐨勪簩涓繍琛屼簬Background Agent鐨凱eriodic Task涓嶳esource-Intensive Task銆傚叾閲嶈鐨勬柟娉曞涓嬶細
鍚嶇О | 璇存槑 |
Add | 鍚戜綔涓氱郴緇熻ɑ鍐屼竴涓猄cheduled Action銆備富瑕侀忚繃Scheduled Action鐨凬ame鍋氫負璇嗗埆鍊箋?/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 | 閫氬父浼氶厤鍚團ind鎵懼嚭鎸囧畾Name鐨凷cheduled Action錛屽茍鍔犱互鍙栦唬瀹冦?/td> |
銆銆B. PeriodicTask錛?/p>
銆銆Periodic(瀹氭湡) Task鏄竴縐嶅畾鏈熶唬鐞嗚繍浣滅殑瑙傚康錛屼笓闂ㄩ拡瀵硅繍浣滆儗鏅換鍔℃墍闇鏃墮棿杈冨皯錛岃屼笖鏄墽琛岄殧闂村叿鏈夎寰嬮辨湡鎬х殑鎯呭銆?/p>
銆銆甯歌鐨勪嬌鐢ㄦ儏澧冿紝渚嬪錛氬畾鏈熶笂浼犳墜鏈虹殑Location璧勮銆佸畬鎴愬皯閲忚祫鏂欑殑鍚屾銆佹洿鏂癟ile鐘舵?#8230;絳夈?/p>
銆銆B-1. 浣跨敤Periodic Task鐨勭害鏉熶笌鏃墮棿閫辨湡寤鴻
綰︽潫/寤鴻 | 璇存槑 |
鎺掔▼鏃墮棿闂撮殧錛?0鍒?/td> | 閫氬父姣?0鍒嗘墽琛屼竴嬈★紝鍦ㄧ數鍔涚姸鍐典笉閿欑殑鎯呭艦涓嬪彲浠ラ厤鍚堝叾浠朾ackground process浣跨敤鏃訛紝涔熷彲浠ヨ瀹氭帴榪戜笂涓嬪樊璺?0縐掔殑浣跨敤銆?/td> |
鎺掔▼鎸佺畫鏃墮棿 | 閫氬父鏀彺鎸佺畫鎵ц25縐掞紝浣嗕篃鍙兘鍥犱負鍏朵粬濉洜閫犳垚璇gent琚彁鏃╃粨鏉熴?/td> |
鐢墊睜涓鴻妭綰︽ā寮忔椂錛岃兘闃叉Exception | 鐢變簬鐢墊睜鏄惁瑕佷嬌鐢ㄨ妭綰︽ā寮忔槸鐢辯敤鎴瘋嚜琛岄夋嫨銆傚鏋滆妯″紡琚夋嫨鏃訛紝褰撶數姹犺繘鍏ヨ妭綰︽ā寮忔椂錛宲eriodic task灝嗘湁鍙兘鏃犳硶浣跨敤銆?/td> |
姣忎竴涓澶囧湪Periodic Task鐨勯檺鍒?/td> | 涓轟簡璁╃數姹犳渶澶у寲浣跨敤錛屼笉鍚岀殑璁懼瀵圭數姹犵殑浣跨敤鏈変竴瀹氱殑鎺у埗綃勫洿錛屽洜姝わ紝鍙兘闄愬埗涓涓澶囨渶澶氭湁鍑犱釜Agent鍙互琚墽琛岋紝濡傛灉瓚呰繃錛屽畠浼氳嚜鍔ㄨturn off銆?/td> |
銆銆C. ResourceIntensiveTask錛?/p>
銆銆Resource-Intensive(璧勬簮瀵嗛泦) Task鏄拡瀵歸渶瑕佺浉瀵硅緝闀跨殑澶勭悊鏃墮棿錛屾垨鏄亣鍒伴渶浣跨敤澶ч噺鎵嬫満鐢墊簮銆佺綉璺瓑璧勬簮鏃惰緝涓洪傜敤鐨勭被鍨嬨?/p>
銆銆甯歌鐨勪嬌鐢ㄦ儏澧冿紝渚嬪錛氬悓姝ュぇ閲忕殑璧勬枡(濡侫pp闇瑕佷笅杞藉ぇ閲忕殑璧勬枡鑷蟲墜鏈虹鎵嶈兘璁〢pp榪愯)…絳夈?/p>
銆銆C-1. 浣跨敤ResourceIntensiveTask鐨勭害鏉熶笌鏃墮棿閫辨湡寤鴻
綰︽潫/寤鴻 | 璇存槑 |
鎸佺畫鏃墮棿錛?0鍒嗛悩 | 閫氬父resource-intensive agent涓鑸墽琛屾寔緇害10鍒嗛悩錛屽鏋滄湁鍏朵粬濡備笅鏂圭殑闄愬埗錛屽皢浼氭彁鏃╁仠姝gent鐨勬墽琛屻?/td> |
澶栭儴鐢靛姏闇姹?/td> | 闄ら潪璁懼宸茶繛鎺ュ閮ㄧ殑鐢靛姏鏉ユ簮錛屽惁鍒欐棤娉曟墽琛屻?/td> |
鏃犺鍔ㄧ綉璺兘綰胯兘鍔?/td> | 闄ら潪璁懼宸查氳繃Wi-Fi銆佽鍔ㄧ綉璺垨榪炴帴鍒癙C錛屽惁鍒欐棤娉曟墽琛屻?/td> |
鏈灝忕數鍔涢渶姹?/td> | 闄ら潪鐢靛姏瓚呰繃90%鐨勬儏褰紝鍚﹀垯鏃犳硶鎵цresource-intensive agent銆?/td> |
璁懼钀ゅ箷琚攣瀹氱姸鎬?/td> | 闄ら潪鐢佃瘽澶勪簬閿佸畾鐨勭姸鎬侊紝鍚﹀垯鏃犳硶鎵цresource-intensive agent銆?/td> |
閫氳瘽涓棤娉曚嬌鐢?/td> | 褰撴墜鏈哄浜庨氫腑鐘舵佹椂錛宺esource-intensive agent鏃犳硶浣跨敤銆?/td> |
涓嶈兘鏀瑰彉緗戣礬鐘舵佷負琛屽姩緗戣礬 | 濡傛灉resource-intensive agent浼佸浘鍘誨斂鍙獳ssociateToNetworkInterface(Socket, NetworkInterfaceInfo)鏉ユ寚瀹氫換浣曚竴縐嶈鍔ㄧ綉璺?GSM鎴朇DMA)錛屽垯浼氬け璐ャ?/td> |
銆銆榪欎簩涓厓绱犲叾瀹為兘鏄敱ScheduleAction涓嶴cheduledTask鎶借薄綾誨埆瀹炰綔鍑烘潵鐨勶紝瀹冧滑鍒嗗埆鏈夎嚜韜嬌鐢ㄧ殑鎯呭涓庨傜敤鎬э紝
銆銆浜岃呮渶澶х殑宸埆鍗沖湪浜庝嬌鐢ㄦ儏澧冧笌闇瑕佽楃敤鎵嬫満璧勬簮鐨勫灝戯紝浠ュ強resource-intensive task瑕佸湪钀ゅ箷閿佸畾涓庣數鍔?0%浠ヤ笂鎵嶈兘鎵ц銆?/p>
銆銆鐢變簬浣跨敤resource-intensive task瑕佹眰鐨勯檺鍒跺疄鍦ㄥ緢澶氾紝鍥犳錛屽湪璁捐Scheduled Task鏃墮渶瑕佺壒鍒冭檻榪欎釜閮ㄥ垎錛岃嚦浜庡叾浠栫浉鍏崇殑
銆銆灞炴у氨澶у悓灝忓紓浜嗭紝浠ヤ笅綆浠嬪叾杈冮暱浣跨敤鍒扮殑灞炴э細
鍚嶇О | 璇存槑 |
Description | 璁懼畾/鍙栧緱鏈夊叧璇cheduled Task鐨勬弿榪般傝鎻忚堪鐨勫唴瀹瑰皢浼氬嚭鐜頒簬鎵嬫満銆孲ettings/Applications/Background Tasks Settings銆嶇殑鐢婚潰涓?nbsp; 濡備笅鍥撅細浠ackground Scheulde涓虹▼寮忓悕縐幫細 ![]() ![]() |
ExpirationTime | 璁懼畾/鍙栧緱Scheduled Task鍒版湡鐨勬椂闂淬?/td> |
IsScheduled | 鍙栧緱Scheduled Task鐘舵佹槸鍚︿負鍚姩銆?/td> |
LastExitReason | 鍙栧緱Agent鎵ц鏈榪戜竴嬈ask琚粨鏉熺殑鐞嗙敱銆?/td> |
LastScheduledTime | 鍙栧緱Agent鎵ц鏈榪戜竴嬈ask鐨勬椂闂達紝浠ユ墜鏈烘椂闂翠負涓匯?/td> |
Name | 鍙栧緱Scheduled Action鐨勫悕縐般?/td> |
銆銆浜嗚В浜嗕簩涓厓绱犵殑鍩烘湰灞炴т笌浣跨敤鎯呭鍚庯紝鏈夊嚑涓嬌鐢˙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灞炴т負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鍙兘鍥犱負鏉′歡闄愬埗(渚嬪閬囧埌鎵цTask鏃舵病緗戣礬鑳藉姏錛岃嚜鍔ㄨ姹侫gent寤跺悗鎵ц)錛岄犳垚Task
銆銆闀挎椂闂存病鏈夎鎵ц錛屼負浜嗙‘淇漈ask涓嶄細涓鐩村崰浣忎笉浣跨敤錛岄忚繃璁懼畾2涓槦鏈熷彲瀛樻椿鏃墮棿錛屽彲浠ヨ嚜鍔ㄨВ鍐寵繖涓棶棰樸傝瀹欵xpirationTime鍙?/p>
銆銆鍦ㄦ瘡涓嬈℃墽琛孉pplication浜庡墠鏅姸鍐墊椂錛岃繘琛屽垽鏂笌璁懼畾銆?/p>
銆銆5. Scheduled Agent鍦ㄨ繛緇簩涓狢rash鍚庤嚜鍔ㄥ彇娑堬細
銆銆鐢變簬浣跨敤Periodic agents涓巖esource-intensive agetns鏄氦鐢盇gent鍘繪帶鍒訛紝鍥犳錛屽綋Agent榪炵畫鍑虹幇浜屾浠ヤ笂鐨凜rash鎴栨棤娉曢鏈熺殑閿欒錛?/p>
銆銆璇gent灝嗕細琚仠姝紝闇閫忚繃Application鍥炲埌鍓嶆櫙妯″紡鍐嶉噸鏂板惎鍔ㄥ畠銆?/p>