小编Rob*_*arl的帖子

NewDirectByteBuffer 是否在本机代码中创建副本

我正在 C++ 中创建两个数组,它们将在 java 端读取:

env->NewDirectByteBuffer
env->NewByteArray
Run Code Online (Sandbox Code Playgroud)

这些函数会复制我发送的缓冲区吗?我需要在 C++ 端的堆上创建缓冲区还是可以在堆栈上创建它因为 jvm 会复制它?

例如,此代码是否可以正常运行:

std::string stam = "12345";
const char *buff = stam.c_str();
jobject directBuff = env->NewDirectByteBuffer((void*)buff, (jlong) stam.length() );
Run Code Online (Sandbox Code Playgroud)

另一个例子:

std::string md5 "12345";    
jbyteArray md5ByteArray = env->NewByteArray((jsize) (md5.length()));
env->SetByteArrayRegion(md5ByteArray, 0, (jsize) (md5.length()), (jbyte*)    
 md5.c_str());
Run Code Online (Sandbox Code Playgroud)

字符串在堆栈上创建。这段代码会一直工作还是我需要在堆上创建这些字符串并负责在 java 使用完后删除它

c++ java java-native-interface native

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

如何使用C#和.NET的C++库?

我的问题与DLL如何导出C++类和泛型方法(没有C#并行的wrt C++语言特性)密切相关.

我相信你可以extern "C"通过引用DLL并使用DLLImport 来调用C#中的块内的函数.但是你可以实例化一个模板化的C++类型吗?如果C++类型在C#中不支持那些疯狂东西怎么办?是否存在RFC或C#规范的相关部分?

谢谢...

编辑:我现在偶然发现P/Invoke应该是有价值的,但我仍然在寻找关于此的规范或标准.

.net c# c++ dll

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

在设备上制作动画视图时,Android WebView会出现闪烁错误

我正在尝试实现幻灯片导航(Facebook,Path或Google+ Android应用程序).可以在此处找到重现此错误的完整源代码.

WebView然而,当在屏幕上设置动画时,在设备上会发生闪烁,就好像设备WebView在将其从屏幕上移开之前咬了一口.

WebView幻灯片导航菜单IN(设备)

模拟器上不会发生工件!动画进展顺利.

WebView幻灯片导航菜单IN(模拟器)

有趣的是,这种闪烁似乎只发生在动画视图是一个WebView!这是使用TextView作为主要内容视图的相同项目.

TextView幻灯片导航菜单IN(设备)

Web视图活动的布局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/blue" >

    <WebView
        android:id="@+id/web_content"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true" />

</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

对于文本视图活动:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/blue" >

    <TextView
        android:id="@+id/web_content"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello there. no flicker!"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
         />

</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

调用代码以滑动导航菜单:

 private void slideIn() {
        LinearLayout actionBarFrame = (LinearLayout) findViewById(android.R.id.content).getParent();

        LayoutInflater inflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);
        menuView = inflater.inflate(R.layout.menu, null);
        menuView.setLayoutParams(new FrameLayout.LayoutParams(SIZE, LayoutParams.MATCH_PARENT, Gravity.LEFT));
        FrameLayout decorView = (FrameLayout) getWindow().getDecorView();
        decorView.addView(menuView);
        decorView.bringChildToFront(actionBarFrame);

        FrameLayout.LayoutParams params = (FrameLayout.LayoutParams) …
Run Code Online (Sandbox Code Playgroud)

android android-emulator android-animation android-webview

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

如何更改XML主题中操作栏图标或徽标的填充或边距?

如何使用XML主题更改操作栏图标或徽标空间的顶部和底部填充或边距?

<style name="Theme.Whycheck" parent="@style/Theme.AppCompat.Light.DarkActionBar">
    <item name="actionBarItemBackground">@drawable/selectable_background_whycheck</item>
    <item name="actionBarStyle">@style/ActionBar.Solid.Whycheck</item>
    <item name="actionModeBackground">@drawable/cab_background_top_whycheck</item>
    <item name="actionModeSplitBackground">@drawable/cab_background_bottom_whycheck</item>

            <!-- Light.DarkActionBar specific -->
    <item name="actionBarWidgetTheme">@style/Theme.Whycheck.Widget</item>

</style>

<style name="ActionBar.Solid.Whycheck" parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse">
    <item name="background">@drawable/ab_solid_whycheck</item>
    <item name="backgroundStacked">@drawable/ab_stacked_solid_whycheck</item>
    <item name="backgroundSplit">@drawable/ab_bottom_solid_whycheck</item>
</style>

<style name="ActionBar.Transparent.Whycheck" parent="@style/Widget.AppCompat.ActionBar">
    <item name="background">@drawable/ab_transparent_whycheck</item>
</style>

<!-- this style is only referenced in a Light.DarkActionBar based theme -->
<style name="Theme.Whycheck.Widget" parent="@style/Theme.AppCompat">
</style>
Run Code Online (Sandbox Code Playgroud)

提供我的风格.

android android-actionbar

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

drawInRect:withFont:lineBreakMode:alignment:'不推荐使用:警告

[string drawInRect: rect
              withFont: self.font
         lineBreakMode: NSLineBreakByWordWrapping
             alignment: NSTextAlignmentCenter];

[((NSString *)[dayTitles objectAtIndex:index]) drawInRect: dayHeaderFrame 
                                                     withFont: calendarFont 
                                                lineBreakMode: NSLineBreakByWordWrapping
                                                    alignment: NSTextAlignmentCenter];
Run Code Online (Sandbox Code Playgroud)

在此代码中,我在iOS 7中收到以下警告:

/wm/Traffic_Department/PMCalendar/src/PMCalendarView.m:150:56:'drawInRect:withFont:lineBreakMode:alignment:'不推荐使用:首先在iOS 7.0中弃用 - 使用-drawInRect:withAttributes:

如何删除此警告?

谢谢

iphone ios7

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

在多任务处理模式下向服务器发送200多张图像?

我想通过上传300张图片到服务器NSOperationQueue.我必须为每个图像使用一个URL,因此我将使用300个URL.换句话说NSOperation,这些网址需要300 秒NSOperationQueue.

这是正确的方法吗?它不会影响主线程中的应用程序性能吗?

image nsoperationqueue ios

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

iPhone SDK:访问索引颜色的PNG图像

我有兴趣在我的iPhone应用程序中加载索引颜色的PNG图像.加载后,我想以每个像素为基础访问图像.特别是,我想获得各个像素的颜色索引(而不是颜色本身).

不幸的是,似乎没有办法通过UIImage类访问像素,更不用说像素的颜色索引了.我也看一下与Quartz2D相关的API,但到目前为止看起来很惨淡.

我非常感谢任何建议.我希望我不必从libpng中移植必要的代码.

提前致谢!

更新:我可以使用Quartz2D加载PNG,但由于某种原因,它会自动将我的索引颜色8位PNG转换为32位ARGB PNG.我有什么想法可以阻止这个吗?

更新2:这一点很重要的原因是由于内存限制.我试图阻止光栅从每像素8位上升到32位,以避免开销.如果有人对我有神奇的答案,100分是你的!

iphone png objective-c

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

运行Android支持v4库演示程序

我有兴趣为v4库运行Android支持库演示项目.使用Android SDK管理器我已经安装了Eclipse插件和2.2到4.0.1的API.涉及到几个问题,提供的示例项目远没有在我的配置上运行,如下载.

要重现此错误:

  • 安装SDK和Eclipse Juno

  • 使用文件 - >新建 - >新建项目导入示例v4兼容性项目,然后选择"从现有代码",目标,例如,Support4Demos<Android-sdk-path>/extras/android/support

在此输入图像描述

  • 打开文件AccessibilityManagerSupportActivity.java.出现以下错误.

在此输入图像描述

  • 打开res/values-v11/styles.xml.发生以下错误. 在此输入图像描述

我该如何摆脱这些错误?我也想了解它们出现的原因,以便将来修复它们.

谢谢!

java eclipse android android-support-library

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

__弱参考对我来说仍然是一个谜

 NSString *myString = [NSString stringWithFormat:@"string1"];
__weak NSString *myString1 = myString;
myString= nil;
NSLog(@"%@, %@",myString,myString1);
Run Code Online (Sandbox Code Playgroud)

我在期待null , null.但输出是string1, (null).为什么myString1仍然保持值,因为myString设置为nil?

objective-c

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

在Apple中是否有像Apple的UIWebView这样的类?

我想在我的Windows应用程序中嵌入Web内容..NET框架中是否有一个类用于此?如果没有,C#中是否有第三方html渲染库?

.net c# uiwebview

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

在iOS 5中隐藏iPhone键盘

如何查找和删除与内置iPhone键盘对应的视图?

在这个项目中,用户输入的输入UITextField始终是第一个响应者.在以前的iOS版本中(2.1 - > 4,我相信)我们为它添加了一个监听器

[[NSNotificationCenter defaultCenter]
                    addObserver: self
                       selector: @selector(keyboardWillShow:)
                           name: UIKeyboardWillShowNotification
                         object: nil
];
Run Code Online (Sandbox Code Playgroud)

当键盘即将显示时,我们将其删除(我们的文本字段仍为第一响应者).

- (void)keyboardWillShow:(NSNotification *)note {
    UIWindow* tempWindow;
    UIView* keyboard;
    UIView* minusView = nil;
    for(int c = 0; c < [[[UIApplication sharedApplication]
                                            windows] count]; c ++) {
        tempWindow = [[[UIApplication sharedApplication]
                                            windows] objectAtIndex:c];      
        // Loop through all views in the current window
        for(int i = 0; i < [tempWindow.subviews count]; i++) {
            keyboard = [tempWindow.subviews objectAtIndex:i];
            //the keyboard view description always starts with …
Run Code Online (Sandbox Code Playgroud)

iphone uikeyboard ios5

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