小编sat*_*ine的帖子

为什么Android文档说意图附加需要包前缀

根据Android文档,Intent额外名称必须具有包前缀.我一直在使用没有前缀的Intent额外名称,似乎没有碰撞的机会,因为真正重要的是Intent动作是独一无二的.那些文档是错的还是我错过了什么?

putExtra的文档说:

将扩展数据添加到intent.名称必须包含包前缀,例如app com.android.contacts将使用"com.android.contacts.ShowAll"之类的名称.

android android-intent

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

WinRT如何处理BitmapImage和Image内存

我是Windows Store应用程序的新手C#,我正在尝试了解图像内存的处理方式.我的应用很简单:

1)它使用Windows.UI.Xaml.Media.Imaging.BitmapImage对象从文件引用位图,然后将其用作Windows.UI.Xaml.Controls.Image对象的Source .在我的情况下,磁盘上的图像尺寸大于屏幕上显示的尺寸,因此系统会对其进行缩放.

我的问题是WinRT如何处理图像的内存?我使用了该vmmap工具,我在Mapped File部分看到我的图像文件有一个条目.我想这意味着这个文件的原始字节被完全加载到内存中.由于这是JPG,因此必须将这些字节解码为像素字节.从我的测试看来,设置BitmapImage的UriSource实际上并不会导致任何处理,因为它需要0毫秒,而是有一些延迟加载正在进行.

所以问题是:哪个对象是未压缩的非缩放像素数据的支配者?在屏幕上绘制的缩放像素数据的支配者是什么对象?有没有工具可以轻松告诉我这个?在Java世界中,我使用Eclipse内存分析器工具.我尝试使用PerfView,但结果对我没有意义,似乎该工具用于分析性能.

更新:

在BUILD会议上,团队讨论了这个问题Windows Performance Toolkit.我从未听过有人提到过PerfView,所以我相信WPT是分析内存和性能的最新最好的工具,这里有一个链接:

http://msdn.microsoft.com/en-us/performance/cc825801.aspx

clr memory-management windows-8 windows-runtime windows-store-apps

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

为什么Android有自己的方式来获取当前的语言环境?

此处的Android文档http://developer.android.com/guide/topics/resources/localization.html说明您可以使用此方法获取当前区域设置:

context.getResources().getConfiguration().locale
Run Code Online (Sandbox Code Playgroud)

似乎Java已经以这种方法的形式提供了这些信息:

java.util.Locale.getDefault()
Run Code Online (Sandbox Code Playgroud)

那么为什么Android开发人员会介绍另一种获取语言环境的方法呢?当同时并行运行时,上面两行代码会产生不同的结果吗?

android locale

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

何时使用 JobIntentService 与 WorkManager?

谷歌最近弃用了 IntentService:https ://android.googlesource.com/platform/frameworks/base.git/+/6f8b09029932dfd24945202017639754b00acc2e

IntentService 的文档现在说:

 * @deprecated IntentService is subject to all the
 *   <a href="/preview/features/background.html">background execution limits</a>
 *   imposed with Android 8.0 (API level 26). Consider using {@link androidx.work.WorkManager}
 *   or {@link androidx.core.app.JobIntentService}, which uses jobs
 *   instead of services when running on Android 8.0 or higher.
Run Code Online (Sandbox Code Playgroud)

那么JobIntentService和WorkManager有什么区别,在什么情况下推荐使用哪一个呢?

谷歌在这个页面上甚至没有提到 JobIntentService,他们只提到了 WorkManager:https : //developer.android.com/guide/background

android jobintentservice android-workmanager

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

如何将系统服务添加到Android Framework

我想添加自己的框架代码,该代码在Android"system_server"中运行(处理所有系统级服务).我的服务加载了一个JNI库,该库与我添加到内核的驱动程序进行通信.该服务旨在允许应用程序向其注册侦听器以从驱动程序获取更新.我找到了一篇非常好的博客文章(http://www.androidenea.com/2009/12/adding-system-server-to-android.html),解释了如何添加系统服务,但我无法完全开始工作.

首先,帖子提到应该使用"适当的"Android.mk文件来编写客户端/测试应用程序,但是没有举例说明.当我尝试构建它时,我遇到构建错误,说它无法找到我添加的服务.有人能举例说明这可能是什么样的吗?

另外,我想在供应商目录(或froyo中的设备目录)中实现此功能,而不是在Android开源代码中实现.博客文章提到适当的地方是供应商目录,但没有举例说明这应该是什么样子.谁知道?

有关在Android中实施您自己的系统服务的任何其他信息都会有所帮助.我的具体工作流程是:

Android应用程序 - >系统服务 - > JNI(本机)库 - >设备驱动程序

java-native-interface android android-source

15
推荐指数
1
解决办法
2万
查看次数

Android ContentProvider性能

我很好奇是否有人在查询ContentProvidervia ContentResolvervs SQLiteDatabase在同一进程中查询对象时进行了任何性能测试.我猜测ContentResolver查询会传回一个通过Binder(Android IPC)与数据库通信的Cursor.这意味着如果我通过Cursor100个Binder方法调用读取100个记录的内容.我的猜测是否正确,如果是这样,那将比在同一过程中访问数据库慢得多?

sqlite performance android ipc

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

设置Android Dialog位置

我希望我的Android对话框和/或警报有时在屏幕的最顶部对齐,而不是简单地在中心.这可能吗?给出精确的xy坐标怎么样,这可能吗?

user-interface android location dialog positioning

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

EasyEditSpan如何在Android中用于允许部分文本编辑?

我想允许用户在我的Android应用中编辑一行文本的一部分.我看到一个名为EasyEditSpan的类,但当我将它粘贴到TextView时没有任何反应.我尝试使TextView可编辑,但它仍然没有任何效果.如果切换到EditText,那么整行文本都是可编辑的,这也是不正确的.这是我的代码:

@Override
public void onCreate(Bundle savedInstanceState) {
    TextView testView = (TextView)findViewById(R.id.text_view);
    testView.setText(buildMiddleEditSpannable("Please enter your ", "Name", " here."));
}

public static Spannable buildMiddleEditSpannable(CharSequence beginning, CharSequence middle, CharSequence end) {
    int spanMidStart = beginning.length();
    int spanMidEnd = spanMidStart + middle.length();

    SpannableString span = new SpannableString(new StringBuilder(middle).insert(0, beginning).append(end));
    span.setSpan(new EasyEditSpan(), spanMidStart, spanMidEnd, 0);
    return span;
}
Run Code Online (Sandbox Code Playgroud)

android textview

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

如何从使用C#编写的WinRT应用程序中获取崩溃日志和堆栈跟踪?

我刚刚开始使用C#编写的Windows应用商店应用程序,它还没有发布到Windows应用商店.当我将正在开发的应用程序的调试版本提供给我的测试团队时,它会崩溃在哪里可以找到崩溃日志和堆栈跟踪?构建我的应用程序时是否需要执行任何操作?我正在寻找标准解决方案,而不是第三方库或向我发送最终用户报告的内容.我来自一个Android世界,其中ADB logcat总是包含Java堆栈跟踪,我正在寻找C#/ WinRt中的等价物.

c# crash-reports windows-runtime windows-store-apps

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

如何以编程方式清除Windows 8.1中的SearchBox控件历史记录?

Windows 8.1引入了一个新的控件:SearchBox.它具有记住用户搜索的功能,但我希望允许用户清除搜索历史记录.我如何在代码中实现它?

windows-runtime windows-8.1

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