旧电脑加装内存条换了个新硬盘,加了个新内存条,结果启动不了了,求大神解惑。如图

【图文】后台操作说明-员工_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
后台操作说明-员工
上传于|0|0|暂无简介
大小:22.37MB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢2012年11月 Linux/Unix社区大版内专家分月排行榜第二2011年8月 Linux/Unix社区大版内专家分月排行榜第二2008年10月 C/C++大版内专家分月排行榜第二
2012年8月 Linux/Unix社区大版内专家分月排行榜第三
2012年1月 扩充话题大版内专家分月排行榜第二
本帖子已过去太久远了,不再提供回复功能。在后台线程加载及缓存资源
为了使后台线程加载和处理媒体资源更容易,Glide新增了两个API:
downloadOnly(int, int)into(int, int)
Glide的downloadOnly(int, int)API允许你下载图片的字节流到磁盘中,以便你之后用到。你可以在UI线程中异步地使用(需要一个Target作为参数)或者在后台线程中同步地使用(需要整数的宽高值作为参数)。
在后台线程中同步下载图片(仅下载图片到磁盘而不做任何处理):
FutureTarget&File& future = Glide.with(applicationContext)
.load(yourUrl)
.downloadOnly(500, 500);
File cacheFile = future.get();
之后,如果你想显示这个已缓存的图片,可以这样:
Glide.with(yourFragment)
.load(yourUrl)
.diskCacheStrategy(DiskCacheStrategy.ALL)
.into(yourView);
使用DiskCacheStrategy.ALL或DiskCacheStrategy.SOURCE以确保Glide使用这个已缓存的图片资源(全尺寸的缓存)。
如果你确实想在后台线程中处理一下已解码的图片,就不要用downloadOnly(int, int)了,可以用into(int, int) API获取一个
FutureTarget,然后使用.get()就可以拿到Bitmap了。如获取一个500*500的centerCrop图片:
Bitmap myBitmap = Glide.with(applicationContext)
.load(yourUrl)
.asBitmap()
.centerCrop()
.into(500, 500)
但要注意,.get()会阻塞主线程,影响App的性能和交互,所以最好不要在主线程中使用。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:3150次
排名:千里之外
原创:12篇
转载:39篇
(4)(5)(13)(18)(10)Unity 3D(145)
项目需求是一个应用在启动时需要读取几个配置文件,原始文档自然是excel格式,为了方便,我把它们转存为csv格式,即用逗号分割的文本格式,然后在js脚本中自己解析,倒也轻松,但是问题就是解析得比较慢。&一个100行80多列的文档解析需要几秒钟,这个有点难受了。
更可怕的是unity发布到ios上的程序启动有个限制,超过一定的时间没有加载完成会被系统强制终止。
控制台错误输入如下:
Aug&20&17:00:45&xxx-iPhone&SpringBoard[30]&&Warning&:&xxx&failed&to&launch&in&time
Aug&20&17:00:45&xxx-iPhone&SpringBoard[30]&&Warning&:&Forcing&crash&report&of&xxx[1067]...
Aug&20&17:00:46&xxx-iPhone&SpringBoard[30]&&Warning&:&Finished&crash&reporting.
Aug&20&17:00:46&xxx-iPhone&com.apple.launchd[1]&(UIKitApplication:com.xxx.xxx[0xd288][1067])&&Notice&:&(UIKitApplication:com.xxx.xxx[0xd288])&Exited:&Killed:&9
其中的xxx是代替了个人的一些信息,注意几个关键字:&
failed&to&launch&in&time&(没能及时启动成功)
Exited&:&Killed&:&9&(以kill&9的方式退出,&kill&9&是被强制终止)
为解决此问题搜了解决方法,查到有个yield可以做点事情,研究了一下,现将结果记录于此备忘。
yield的核心功能是让代码在此返回,下一循环(update)继续执行
看unity自己的例子:
function&Start&()&{
StartCoroutine(&DoSomething&,&2.0);
yield&WaitForSeconds(1);
StopCoroutine(&DoSomething&);
function&DoSomething&(someParameter&:&float)&{
while&(true)&{
print(&DoSomething&Loop&);
//&Yield&execution&of&this&coroutine&and&return&to&the&main&loop&until&next&frame
上面的一段先不管,先看下面一段,循环中的yield会让函数暂时返回,下一帧继续,这个在c++里面是没有的,一开始难以理解,以为类似于MFC里面的Dialog.DoModal(),于是就这么用了:
function&Start(){
&&&&LoadA();
&&&&LoadB();
&&&&LoadC();
LoadA(),&LoadB(),&LoadC()分别是一个类似于上面DoSomething的函数,但是我的LoadB是依赖LoadA完成的,就是说如果LoadA没有完成时是不能开始LoadB的,这样用就出错了。
因为LoadA并没有想Dialog.DoModal()一样,而是直接返回了,就是说第一帧,LoadA,LoadB,LoadC都执行了,这非我预想。经过加入各种输出信息,终于明白过来,函数是立即返回的,但是里面的循环工作(yield后面的代码)会在后续帧里面得以继续执行。
为此,需要重新找到LoadA完成的切入点,我是这样做的:
function&LoadA()
for(&var&i&:&int&=&0;&i&&&99;&++i)
&&&&//&do&something&......
CallFunctionFinished();
然后在CallFunctionFinished()这个函数里面调用LoadB,当然也可以用SendMessage把调用做的低耦合一点。
还有个StartCoroutine,在js里面是可无的,unity的文档中明确说了:
When&using&JavaScript&it&is&not&necessary&to&use&StartCoroutine,&the&compiler&will&do&this&for&you.&When&writing&C#&code&you&must&call&StartCoroutine.
如果要做一个loading的进度条,就只需要在我们读取数据的循环中加入计数,然后在update函数中读取计数显示进度条即可。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:799440次
积分:10170
积分:10170
排名:第1381名
原创:197篇
转载:293篇
评论:73条
难度:中级
类型:实战教学
难度:中级
类型:实战教学
难度:中级
类型:技术教程
(2)(2)(10)(5)(1)(2)(2)(1)(1)(1)(1)(98)(1)(1)(1)(1)(1)(1)(8)(7)(67)(82)(11)(1)(15)(3)(2)(8)(5)(1)(5)(10)(37)(34)(22)(10)(6)(3)(2)(8)(1)(3)(7)

我要回帖

更多关于 电脑固态硬盘和内存条 的文章

 

随机推荐