小编Gal*_*e33的帖子

使用UEFI编写操作系统

由于上学原因,我最近没有编码,但我决定再次开始从事OS开发工作.最近我听说EFI作为BIOS的替代品.我想为使用EFI而不是BIOS的平台开发操作系统.我无法确定从哪里开始.谁能指出我正确的方向?也许解释一下EFI对OS开发的意义,也许可以告诉我可以使用哪些测试环境(最好是虚拟的).坦率地说,我真的不确定EFI到底是什么.我也应该花时间研究ARM组装吗?我知道x86汇编,但我觉得这也已经过时了.我真的迷路了,我很想听听你的意见.

谢谢

assembly cpu-architecture osdev efi uefi

18
推荐指数
2
解决办法
8473
查看次数

OS旁边的UEFI运行时服务

我有想法在操作系统旁边运行一个小服务,但我不确定它是否可行.我试着通过阅读一些文档来解决这个问题,但没有达到目标,所以这就是我的问题.

我读到了UEFI运行时服务.
是否可以在固件中安装一个小模块,该模块在所使用的操作系统旁边运行,并将有关设备位置的信息发送到互联网上的地址?

据我所知,我会说,一旦UEFI将控制权移交给OS内核,就不应该在后台运行一些东西.

为了澄清我的意图,我想在我的笔记本电脑上有类似的东西.有Prey项目,但它安装在操作系统内.我正在使用没有自动登录的Linux发行版.如果有人会窃取它,他们可能只会安装Windows.

efi uefi

7
推荐指数
1
解决办法
2379
查看次数

是否可以在 appWidget 中重用 RemoteViews 而不是每次都创建新的?我该如何存储它们?

在我的 appWidgetProvider 中,每次我需要更新 appWidget 时,我都必须创建新的 RemoteViews 对象并为其分配属性:

RemoteViews views = new RemoteViews(context.getPackageName(),layout);
views.setOnClickPendingIntent(R.id.widgetLayout, pendingIntent);
view.setFloat(R.id.nick, "setTextSize", wParameters.getFontSize()); 
view.setTextViewText(R.id.nick,wParameters.getNick()); 
.........etc

appWidgetManager.updateAppWidget(appWidgetId, views);
Run Code Online (Sandbox Code Playgroud)

但实际上,我只需要改变一件事,那就是 TextView Text。

我可以以某种方式存储 RemoteViews 以便在下次更新时重用它,并且只应用

 view.setTextViewText(R.id.nick,wParameters.getNick()); 
 appWidgetManager.updateAppWidget(appWidgetId, views);
Run Code Online (Sandbox Code Playgroud)

再次?

或者以某种方式获取以前使用的 RemoteViews 对象?

我想实现这一点,因为在我的 appWidget 中再次设置新的 RemoteViews 对象属性的过程非常昂贵。

让我们假设我的小部件由一个 TextView 和一个 ImageView 组成。ImageView 的图像是在小部件的 configureActivity 中选择的(对于 appWidget 的每个实例都是唯一的),但是图像处理很昂贵。每次更新都需要更改 TextView 文本。我想保留 ImageView 图像,只更改 TextView 的文本。是否可以在不更新 imageView 的情况下更新 TextView?

很高兴得到任何帮助和想法!感谢先进,加尔。

java android android-widget android-appwidget

5
推荐指数
1
解决办法
1476
查看次数

"清除内存"+ appWidget崩溃后,服务不会重新启动

我已经构建了一个appWidget,它在onEnabled()方法上注册了一些服务.

问题是,在我使用内置任务管理器的Clean Memmory/Ram之后,appWidget视图崩溃(所有appWidgets TextView的文本都设置为默认值(TextView)),服务停止运行,从不重新启动.

这只发生在设置小部件一段时间后,如果我在设置小部件后立即清理Memmory/Ram,则不会发生错误,但我想这与任务管理器清理RAM的方法有关.

最后,我的问题是:有没有办法告诉android系统重新启动这些服务?我通过市场下载的其他应用程序似乎在此过程后继续正常工作.

会很高兴的想法和解决方案!谢谢先进,Gal :)

我使用的一些代码:

appWidget中的onEnabled()方法:

@Override
public void onEnabled(Context context) {
    super.onEnabled(context);

    Intent newinIntent = new Intent(context, CallService_1x1.class);
        context.startService(newinIntent);

    newinIntent = new Intent(context, SmsService_1x1.class);
        context.startService(newinIntent);
}
Run Code Online (Sandbox Code Playgroud)

其中一个服务的一些方法(其他服务非常相似,因为这是来自他们的抽象方法):

 @Override
  public int onStartCommand(Intent intent, int flags, int startId) {
      // We want this service to continue running until it is explicitly
      // stopped, so return sticky.
      Log.d("SERVICE-SMS","CallMonitorService - onStartCommand created");
      return START_STICKY;
  } 

@Override
  public void onCreate() {
    super.onCreate();
    context = this.getApplicationContext();
    Log.d("SERVICE-SMS","CallMonitorService created");
    registerObserver();
  }

@Override …
Run Code Online (Sandbox Code Playgroud)

java service android widget

4
推荐指数
1
解决办法
5966
查看次数

如何在 UEFI 中访问命令行参数?

规范的哪一部分详细说明了如何获取命令行参数?

efi uefi

4
推荐指数
1
解决办法
5786
查看次数

从WINAPI获取文件的早期版本

在Windows 7中,有可能获得文件的先前版本,如下图所示:

有没有办法按代码检索文件的先前版本?因为我找不到任何API.

在此输入图像描述

谢谢先进!=]

c c++ windows winapi windows-7

3
推荐指数
1
解决办法
930
查看次数

有很多线程WaitingForSingleObject()会恶化性能吗?

我使用WIN32 API在C中有一个代码.

在我的程序中,主线程创建了很多事件(使用CreateEvent),然后为WaitForSingleObject的每个事件创建一个Thread(使用CreateThread).

创建WaitForSingleObject的大量线程会不会使主线程性能恶化?

c performance winapi multithreading synchronization

1
推荐指数
1
解决办法
148
查看次数