小编Cam*_*mer的帖子

编辑没有自动更正的文本

我想要一个没有自动更正的EditText.我已经设置了textNoSuggestions inputType,如下所示:

 <EditText
    android:id="@+id/txtTarga"
    android:layout_width="150dp"
    android:layout_height="wrap_content"
    android:ems="10"
    android:hint="Targa"
    android:inputType="textNoSuggestions|textCapCharacters" >
Run Code Online (Sandbox Code Playgroud)

大写标志有效,但它仍然是自动校正的.

我该如何禁用它?

android android-layout android-edittext

5
推荐指数
2
解决办法
7181
查看次数

Android:我的应用使用了多少内存?

记忆似乎是一个很大的话题,我找不到具体的答案.我已经得到了堆中有多少可用的答案,我知道应该使用多少.我需要答案如何编码以编程方式确定我的应用程序使用堆的内存量是多少?我使用的总内存是多少?

android memory-management heap-memory

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

为什么线程在Android上泄漏?

我一直在我们的Android应用程序中注意到,每次我们退出到主屏幕时,我们都会通过ByteArrayOutputStream的数量增加堆大小(泄漏).我能够管理的最好的是添加

this.mByteArrayOutputStream = null;
Run Code Online (Sandbox Code Playgroud)

在run()结束时防止堆大小不断增加.如果有人能够启发我,我将非常感激.我写了下面的例子来说明问题.

MainActivity.java

public class MainActivity extends Activity {
    private Controller mController;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);        
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }

    @Override
    protected void onStart() {
        super.onStart();

        this.mController = new Controller();
        mController.connect();
    }

    @Override
    protected void onStop() {
        super.onStop();

        mController.quit();
    }
}
Run Code Online (Sandbox Code Playgroud)

Controller.java

public class Controller {
    public volatile ReaderThread mThread;

    public Controller() {
        super();
    }

    public void connect() {
        mThread = new ReaderThread("ReaderThread"); …
Run Code Online (Sandbox Code Playgroud)

java multithreading android garbage-collection

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

AFNetworking 2.0与NSProgress - 多个文件

我有兴趣用NSProgress用2.0替换一些旧的AFNetworking 1.0代码.这是我正在考虑的草图......

NSProgress *overallProgress = [NSProgress progressWithTotalUnitCount:[requests count]];
for (NSURLRequest *request in requests) {
   [overallProgress becomeCurrentWithPendingUnitCount:1];
   [self downloadTask:request];
   [overallProgress resignCurrent];
}

- (void)downloadTaskWithRequest:(NSURLRequest *)request
{
   NSProgress *progress = nil;
   NSURLSessionDownloadTask *task = [self.sessionManager downloadTaskWithRequest:request progress:&progress destination:^NSURL *(NSURL *targetPath, NSURLResponse *response) {
   } completionHandler:^(NSURLResponse *response, NSURL *filePath, NSError *error) {
   }];
}
Run Code Online (Sandbox Code Playgroud)

我已经阅读了几篇关于这篇文章的帖子,我在使用overallProgress编写子任务进度时遇到了麻烦.获取单个文件的进度是有效的,但是尝试编写NSProgress任务并且伞形任务使我无法完成.

如何创建包含N个部分的整体任务,然后将每个文件作为其下载更新整个任务?

objective-c ios afnetworking-2

5
推荐指数
0
解决办法
457
查看次数

iOS 使用 vImage - 加速将 QCAR YUV 转换为 RGB

我正在尝试测试转换 Vuforia 生成的 YUV 图像并将它们转换为UIImage使用 iOS Accelerate Framework 的 vImage 调用的性能。在代码的当前状态下,我只是想让它工作。现在转换会产生暗条纹图像。是否有任何关于 Vuforia 如何在其实现中布置 YUV 格式的已发布详细信息?我最初的假设是他们使用 iOS 设备使用的双平面 420p 格式。相关测试代码如下。

UIImage *imageWithQCARCameraImage(const QCAR::Image *cameraImage)
{
    UIImage *image = nil;

    if (cameraImage) {
        QCAR::PIXEL_FORMAT pixelFormat = cameraImage->getFormat();

        CGColorSpaceRef colorSpace = NULL;
        switch (pixelFormat) {
            case QCAR::YUV:
            case QCAR::RGB888:
                colorSpace = CGColorSpaceCreateDeviceRGB();
                break;
            case QCAR::GRAYSCALE:
                colorSpace = CGColorSpaceCreateDeviceGray();
                break;
            case QCAR::RGB565:
            case QCAR::RGBA8888:
            case QCAR::INDEXED:
                std::cerr << "Image format conversion not implemented." << std::endl;
                break;
            case QCAR::UNKNOWN_FORMAT:
                std::cerr << "Image format …
Run Code Online (Sandbox Code Playgroud)

uiimage ios accelerate-framework vuforia vimage

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

如何让Google Protobuf在Matlab中工作?

因此,如果想要在Matlab中使用Google协议缓冲区并使用Windows计算机,那么最好的方法是什么,因为Matlab不在支持的语言列表中?

matlab protocol-buffers

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

链接期间gradle NDK cmake构建失败

我正在使用gradle android构建工具v2.2.0构建一个非平凡的android库,它链接到十几个预构建的.a文件,输出应该是.so文件.在尝试转换ndk-build为cmake我无法正确链接.so文件,因为生成的ninja构建似乎无法找到静态库的标头.

的CMakeLists.txt

cmake_minimum_required(VERSION 3.4.1)

set(CMAKE_VERBOSE_MAKEFILE on)

include_directories(${CMAKE_SOURCE_DIR}
    ${CMAKE_SOURCE_DIR}/prebuilt/include )

add_library(precompiledA STATIC IMPORTED)
set_target_properties(precompiledA PROPERTIES 
    IMPORTED_LOCATION ${CMAKE_SOURCE_DIR}/prebuilt/dcmtk/lib/libprecompiledA.a)

add_library(precompiledB STATIC IMPORTED)
set_target_properties(precompiledB PROPERTIES 
    IMPORTED_LOCATION ${CMAKE_SOURCE_DIR}/prebuilt/dcmtk/lib/libprecompiledB.a)

add_library(precompiledC STATIC IMPORTED)
set_target_properties(precompiledC PROPERTIES 
    IMPORTED_LOCATION ${CMAKE_SOURCE_DIR}/prebuilt/dcmtk/lib/libprecompiledC.a)



add_library( jni-library

             SHARED

             hello.cpp )

find_library( log-lib
              log )

target_link_libraries( jni-library 

                       precompiledA
                       precompiledB
                       precompiledC

                       ${log-lib} )
Run Code Online (Sandbox Code Playgroud)

的build.gradle

apply plugin: 'com.android.library'

android {
    compileSdkVersion 24
    buildToolsVersion "24.0.2"

    defaultConfig {
        minSdkVersion 19
        targetSdkVersion 24

        ndk {
            abiFilters 'armeabi-v7a'
        }

        externalNativeBuild {
            cmake {
                arguments '-DANDROID_STL=gnustl_static', …
Run Code Online (Sandbox Code Playgroud)

cmake gradle android-ndk

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

使用Android NDK编译基于Automake(配置)的项目

我想使用NDK工具链为Android编译许多库。我无法编译libiconv,libtiff,libxml2例如和验证他们建立正确的每一个目标架构。例如,如何编译像libiconv这样的琐碎项目并验证它是否正确构建?

android-ndk

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

Android,CMake和静态链接

在将库项目构建转换Android.mk为CMakeLists.txt跟随Google hello-libs示例时,我遇到了避免未定义引用的问题.我正在使用一个名为DCMTK的开源项目,并将DCMTK和ICONV编译为我随后链接的静态库.当我将每个静态库添加到.时,使用Android.mk工程ndk-build构建并使用gradle以下CMakeLists.txt工作构建它们target_link_libraries.但是,我想用来add_library完成这项工作并尝试过

add_library( lib_dcmdata STATIC IMPORTED )
set_target_properties( lib_dcmdata
                           PROPERTIES
                           IMPORTED_LOCATION ${CMAKE_SOURCE_DIR}/prebuilt_libs/dcmtk/${ANDROID_ABI}/lib/libdcmdata.a )
Run Code Online (Sandbox Code Playgroud)

为每个库,然后将它们添加到target_link_libraries.这导致了大量未定义的引用.我还尝试通过将静态库分组到一个目标中来设置set_target_properties,但这也不起作用.

依赖关系的顺序是否以某种方式不同或者CMake使用该add_library set_target_properties方法处理这些库的方式不同?

的CMakeLists.txt

cmake_minimum_required( VERSION 3.6 )
project( dicom-jni )

set( SOURCE_FILES
         dicom.cpp
         dicom.hpp )

add_library( lib_dcmtk STATIC IMPORTED )
set_target_properties( lib_dcmtk
                           PROPERTIES
                           IMPORTED_LOCATION ${CMAKE_SOURCE_DIR}/prebuilt_libs/dcmtk/${ANDROID_ABI}/lib/libdcmrt.a
                           IMPORTED_LOCATION ${CMAKE_SOURCE_DIR}/prebuilt_libs/dcmtk/${ANDROID_ABI}/lib/libdcmpstat.a
                           IMPORTED_LOCATION ${CMAKE_SOURCE_DIR}/prebuilt_libs/dcmtk/${ANDROID_ABI}/lib/libdcmqrdb.a
                           IMPORTED_LOCATION ${CMAKE_SOURCE_DIR}/prebuilt_libs/dcmtk/${ANDROID_ABI}/lib/libdcmwlm.a
                           IMPORTED_LOCATION ${CMAKE_SOURCE_DIR}/prebuilt_libs/dcmtk/${ANDROID_ABI}/lib/libdcmdsig.a
                           IMPORTED_LOCATION ${CMAKE_SOURCE_DIR}/prebuilt_libs/dcmtk/${ANDROID_ABI}/lib/libdcmnet.a
                           IMPORTED_LOCATION ${CMAKE_SOURCE_DIR}/prebuilt_libs/dcmtk/${ANDROID_ABI}/lib/libdcmjpeg.a
                           IMPORTED_LOCATION ${CMAKE_SOURCE_DIR}/prebuilt_libs/dcmtk/${ANDROID_ABI}/lib/libdcmjpls.a
                           IMPORTED_LOCATION ${CMAKE_SOURCE_DIR}/prebuilt_libs/dcmtk/${ANDROID_ABI}/lib/libcharls.a
                           IMPORTED_LOCATION ${CMAKE_SOURCE_DIR}/prebuilt_libs/dcmtk/${ANDROID_ABI}/lib/libijg16.a …
Run Code Online (Sandbox Code Playgroud)

cmake android-ndk

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

将现有 C 库包装为框架

我正在尝试找到一种用 Apple.framework结构包装现有 C 库的方法。关键的症结在于避免需要Search Headers在 中指定字段Settings。

通常在框架中您指定如下内容:

#import <Foundation/Foundation.h>
Run Code Online (Sandbox Code Playgroud)

其中 Foundation 是框架名称,.h 文件是伞形标头。

在使用现有代码进行测试时,为了论证 OpenSSL,该项目#include <openssl/file.h>在内部使用来引用其文件。一旦您想将其放入框架中以方便起见,每个包含自然都需要更改为<NameOfFramwork/openssl/file.h>,或者您必须将其添加$(SRCROOT)/Path/To/Frameworks/NameOfFramework.framework/Headers到搜索路径中。这非常不方便,并且扼杀了框架格式的很多价值。当您想要将库的多个 SDK 版本包装在 XCFramework 中时,情况只会变得更糟。

我特别想知道 ModuleMap 是否可以帮助避免更改 #includes 的需要?我添加了一个modulemap我正在创建的测试。

实验模块.modulemap

framework module LibreSSL [extern_c] {
    umbrella header "LibreSSL.h"
    export *
    module * { export * }
    
    explicit module LibreSSL_Private [extern_c] {
        umbrella "Headers/include"
        link "LibreSSL"
        export *
    }
}
Run Code Online (Sandbox Code Playgroud)

c xcode ios

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